跳转至

base/include/base/macro/plain_property.h

Macro for generating simple property getters and setters. More...

Defines

Name
CF_PLAIN_PROPERTY(val_type, val_name, default_value)

Detailed Description

Macro for generating simple property getters and setters.

Author: N/A

Version: N/A

Since: N/A

Date: N/A

Defines the CF_PLAIN_PROPERTY macro which generates getter and setter methods for a class member variable with a default value.

Macros Documentation

define CF_PLAIN_PROPERTY

#define CF_PLAIN_PROPERTY(
    val_type,
    val_name,
    default_value
)
      public:                                                    \
        val_type& get_##val_name() {                             \
            return val_name;                                     \
        }                                                        \
        const val_type& get_##val_name##_const() const {         \
            return val_name;                                     \
        }                                                        \
        void set_##val_name(const val_type& v) {                 \
            val_name = v;                                        \
        }                                                        \
                                                                 \
      private:                                                   \
        val_type val_name{default_value};

Source code

#pragma once

#ifndef CF_PLAIN_PROPERTY
#    define CF_PLAIN_PROPERTY(val_type, val_name, default_value) \
      public:                                                    \
        val_type& get_##val_name() {                             \
            return val_name;                                     \
        }                                                        \
        const val_type& get_##val_name##_const() const {         \
            return val_name;                                     \
        }                                                        \
        void set_##val_name(const val_type& v) {                 \
            val_name = v;                                        \
        }                                                        \
                                                                 \
      private:                                                   \
        val_type val_name{default_value};

#endif

Updated on 2026-03-09 at 10:14:01 +0000