BNM 2.4.0
 
Loading...
Searching...
No Matches
BNM::CompileTimeClassBuilder Struct Reference

Struct for building CompileTimeClass. More...

#include <Class.hpp>

Public Member Functions

 CompileTimeClassBuilder (const char *_namespace, const char *_name, const char *_imageName=nullptr, bool autoFree=true)
 Create builder.
 
CompileTimeClassBuilderClass (const char *_name)
 Specify inner class name.
 
CompileTimeClassBuilderModifier (CompileTimeClass::ModifierType type)
 Specify modifier of target class.
 
CompileTimeClassBuilderGeneric (const std::initializer_list< CompileTimeClass > &templateTypes)
 Specify generic types of target class.
 
CompileTimeClass Build ()
 Build CompileTimeClass.
 

Public Attributes

CompileTimeClass _data {}
 

Detailed Description

Struct for building CompileTimeClass.

A structure for building CompileTimeClass structure.

Constructor & Destructor Documentation

◆ CompileTimeClassBuilder()

BNM::CompileTimeClassBuilder::CompileTimeClassBuilder ( const char * _namespace,
const char * _name,
const char * _imageName = nullptr,
bool autoFree = true )
inline

Create builder.

Creates builder using class namespace, name and image name.

Parameters
_namespaceTarget class namespace
_nameTarget class name
_imageNameTarget class image name
autoFreeShould CompileTimeClass be freed after class was found or shouldn't (used mostly internally).

Member Function Documentation

◆ Build()

CompileTimeClass BNM::CompileTimeClassBuilder::Build ( )
inline

Build CompileTimeClass.

Builds CompileTimeClass.

Returns
New CompileTimeClass object

◆ Class()

CompileTimeClassBuilder & BNM::CompileTimeClassBuilder::Class ( const char * _name)
inline

Specify inner class name.

Adds inner class to stack of CompileTimeClass.

Parameters
_nameTarget inner class name
Returns
Reference to current builder

◆ Generic()

CompileTimeClassBuilder & BNM::CompileTimeClassBuilder::Generic ( const std::initializer_list< CompileTimeClass > & templateTypes)
inline

Specify generic types of target class.

Adds template types to target class.

Parameters
templateTypesList of template types
Returns
Reference to current builder

◆ Modifier()

CompileTimeClassBuilder & BNM::CompileTimeClassBuilder::Modifier ( CompileTimeClass::ModifierType type)
inline

Specify modifier of target class.

Adds modifier to target class: array, pointer or reference.

Parameters
typeTarget class modifier
Returns
Reference to current builder