FCF 2.0 development in progress...
> >
[News] [C++ Libraries API] [C++ Downloads] [Donate to the project] [Contacts]

Package fcfBasis

Please note: The library is currently undergoing refactoring before the first version is released. Function and variable names may change. fcfBasis is a C++ library (C++11) providing a meta-type system, dynamic function call dispatching, a universal data container (fcf::Variant), and generic iteration tools.

The library is designed for creating systems where data types, functions, and their interactions are defined or modified at runtime, while maintaining performance through caching and compile-time optimizations.

Github: https://github.com/fcf-framework/fcfBasis

Constants
int fcf::DefaultVariantBufferSize = fcf::MetaTypeMaxTypeSize<std::string, std::wstring, std::map<std::string, std::string> >::size
- The size value of the static buffer for the object fcf::Variant by default.
Macros
- This macro is used to enable the implementation section within the header files.
FCF_TYPE_REGISTRATION(TYPE a_type, const char* a_typeName, fcf::TypeIndex a_typeIndex)
- Registers a custom type in the fcf type system, providing it with a unique index and metadata.
FCF_TYPE_REGISTRATION_FORCE(TYPE a_type, const char* a_typeName, fcf::TypeIndex a_typeIndex)
- Forces registration of a type in the fcf type system, ensuring it is added to the global registry regardless of the implementation macro state.
FCF_SPECIFIER_REGISTRATION(TYPE a_type, TYPE a_specifier)
- Binds a specifier implementation to a registered type, enabling runtime operations for that type.
FCF_SPECIFIER_REGISTRATION_FORCE(TYPE a_type, TYPE a_specifier)
- Forces registration of a specifier implementation for a type, ensuring it is added to the global registry regardless of the implementation macro state.
FCF_CONVERTER_REGISTRATION(TYPE a_destinationType, TYPE a_sourceType)
- Registers a converter between two types in the global registry, enabling runtime type transformations.
FCF_CONVERTER_REGISTRATION_FORCE(TYPE a_destinationType, TYPE a_sourceType)
- Forces registration of a converter between two types in the global registry.
Typedef
typedef fcf::TypeIndex - Unique integer identifier for a registered type
typedef fcf::Variant - Default fcf::VariantBasic class
typedef fcf::ConvertFunction - The signature of a function to convert data to a specific type.
Classes
template <size_t innerBufferSize>
fcf::VariantBasic

- A type-safe, dynamic variant class capable of holding values of various types
- Structure containing metadata and runtime information for a registered type.
template <typename Ty>
fcf::Type

- A template class that provides access to metadata and runtime information for a specific type.
- Structure containing information about a specifier operator
- This specifier retrieves information about the stored object of the specified type. For example, the data type contained in the specified fcf::Variant object.
- The structure describing the information returned by the fcf::ResolveSpecifier specifier. Structure containing resolved data, its type index, and invariance information.
- A specifier used to perform 'less than' (<) comparisons between objects.
- Convert options. The structure is not used in the implementation, but reserved for the future.
Functions
const fcf::TypeInfo* fcf::getTypeInfo(fcf::TypeIndex a_typeIndex)
const fcf::TypeInfo* fcf::getTypeInfo(fcf::TypeIndex a_typeIndex, fcf::Exception* a_errorDst)
- It extracts information about the type given in the function argument in the form of a type index.