Cogs.Core
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Cogs::RationalReducerExtension::AnnotationComponent Struct Reference

A component that serves as storage for a vector of text annotations. More...

#include <AnnotationComponent.h>

Inheritance diagram for Cogs::RationalReducerExtension::AnnotationComponent:
Cogs::Core::DynamicComponent Cogs::ComponentModel::Component

Public Member Functions

size_t indexOfKey (const Cogs::StringView key)
 Get index of the key in the annotations vector using ':' for key/value separator.
 
bool containsKey (const Cogs::StringView key)
 Check if the annotations vector contains the key using ':' for key/value separator.
 
std::string getValue (const Cogs::StringView key)
 Get key value using ':' for key/value separator.
 
void setValue (const Cogs::StringView key, const Cogs::StringView value)
 Add or replace key value using ':' for key/value separator.
 
- Public Member Functions inherited from Cogs::ComponentModel::Component
class EntitygetContainer () const
 Get the container currently owning this component instance.
 
void setContainer (class Entity *container)
 Set the container owning this component instance.
 
template<typename ComponentType >
ComponentType * getComponent () const
 
COGSFOUNDATION_API ComponentgetComponent (const Reflection::Name &name) const
 
COGSFOUNDATION_API ComponentgetComponent (const Reflection::TypeId &id) const
 
template<typename ComponentType >
ComponentHandle getComponentHandle () const
 
COGSFOUNDATION_API ComponentHandle getComponentHandle (const Reflection::Name &name) const
 
COGSFOUNDATION_API ComponentHandle getComponentHandle (const Reflection::TypeId &id) const
 
void setActive ()
 Sets the component to the ComponentFlags::Active state.
 
bool isActive () const
 Gets if the component is currently set to the ComponentFlags::Active state.
 
void setChanged ()
 Sets the component to the ComponentFlags::Changed state with carry.
 
void setChangedTransient ()
 Sets the component to the ComponentFlags::Changed state without carry.
 
void setFieldChanged (const Reflection::FieldId fieldId)
 Sets the component to the ComponentFlags::Changed state without carry.
 
template<typename ClassType , typename FieldType >
void setFieldChanged (FieldType ClassType::*field)
 Sets a flag indicating that the given field has changed.
 
void setFieldChangedTransient (const Reflection::FieldId fieldId)
 Sets the component to the ComponentFlags::Changed state without carry.
 
bool hasChanged () const
 
bool hasAnyfieldChanged () const
 Gets if any fields have been changed.
 
bool hasFieldChanged (const Reflection::FieldId fieldId) const
 Gets if the field with the given id on this component instance has changed.
 
template<typename ClassType , typename FieldType >
bool hasFieldChanged (FieldType ClassType::*field) const
 Gets if the given field has changed.
 
void resetCarryChanged ()
 Reset the CarryChanged flag. Called at start of redraw. See ComponentFlags::CarryChanged.
 
void resetChanged ()
 Resets the changed state of the component, respecting any carry state set.
 
template<typename ClassType , typename FieldType >
Reflection::FieldId getFieldId (FieldType ClassType::*field) const
 Gets field ID of the given field.
 
void resetFieldsChanged ()
 Resets the state of all changed field flags.
 
void resetFieldChanged (const Reflection::FieldId fieldId)
 Resets the changed state of the given fieldId.
 
template<typename ClassType , typename FieldType >
void resetFieldChanged (FieldType ClassType::*field)
 Resets the changed state of the given field.
 
constexpr void setFlags (const uint32_t flags)
 Override all flags of the Component, setting the given flags.
 
constexpr void setFlag (const uint32_t flag)
 Set the given flags. Does not override the currently set flags.
 
constexpr void unsetFlag (const uint32_t flag)
 Unset the given flag. Does not remove the status of other than the given flags.
 
constexpr bool isSet (const uint32_t flag) const
 Checks if the given flag is set. Requires exact bit match if test of several bits.
 
constexpr void setTypeId (const Reflection::TypeId typeId)
 Set the Reflection::TypeId of the component.
 
constexpr Reflection::TypeId getTypeId () const
 Get the Reflection::TypeId of the component.
 
COGSFOUNDATION_API const Reflection::TypegetType () const
 Get the full Reflection::Type of the component.
 
constexpr void setIndex (const ComponentIndex index)
 Set the components pool index. For internal use only.
 
constexpr ComponentIndex getIndex () const
 Get the components pool index. For internal use only.
 
constexpr void setGeneration (uint16_t generation)
 Sets the component generation.
 
constexpr uint16_t getGeneration () const
 Gets the component generation.
 
size_t hash (size_t hashValue=Cogs::hash()) const
 Calculates a hash of this component's members.
 

Static Public Member Functions

static void registerType ()
 
- Static Public Member Functions inherited from Cogs::Core::DynamicComponent
static COGSCORE_DLL_API void registerType ()
 Register the type in the type system.
 
template<typename T >
static Reflection::TyperegisterDerivedType ()
 Convenience method for registering the type of a derived component.
 
- Static Public Member Functions inherited from Cogs::ComponentModel::Component
static COGSFOUNDATION_API void registerType ()
 Register the Component type in the global type database.
 
static COGSFOUNDATION_API Reflection::TypeId getComponentTypeId (const StringView &name)
 Get the type id of the component type with the given name.
 

Public Attributes

std::vector< std::string > annotations
 
- Public Attributes inherited from Cogs::Core::DynamicComponent
void * messageCallback = nullptr
 
void * userData = nullptr
 
size_t dynamicTypeInfoIndex = static_cast<size_t>(-1)
 

Static Public Attributes

static constexpr auto npos { static_cast<size_t>(-1) }
 Undefined index.
 

Detailed Description

A component that serves as storage for a vector of text annotations.

It is up to the application to interpret the contents of the strings. If the contents shall be key / value pairs the syntax key':'value is recommended (no spaces around ':').

Definition at line 14 of file AnnotationComponent.h.

Member Function Documentation

◆ containsKey()

bool Cogs::RationalReducerExtension::AnnotationComponent::containsKey ( const Cogs::StringView  key)
inline

Check if the annotations vector contains the key using ':' for key/value separator.

Parameters
keyto find.
Returns
true not found.

Definition at line 49 of file AnnotationComponent.h.

References indexOfKey(), and npos.

◆ getValue()

std::string Cogs::RationalReducerExtension::AnnotationComponent::getValue ( const Cogs::StringView  key)
inline

Get key value using ':' for key/value separator.

Parameters
keyto find.
Returns
value or empty string if not found.

Definition at line 60 of file AnnotationComponent.h.

References indexOfKey(), npos, and Cogs::StringView::size().

◆ indexOfKey()

size_t Cogs::RationalReducerExtension::AnnotationComponent::indexOfKey ( const Cogs::StringView  key)
inline

Get index of the key in the annotations vector using ':' for key/value separator.

Parameters
keyto find.
Returns
Index or npos if not found.

Definition at line 30 of file AnnotationComponent.h.

References Cogs::StringView::data(), npos, and Cogs::StringView::size().

Referenced by containsKey(), getValue(), and setValue().

◆ registerType()

void Cogs::RationalReducerExtension::AnnotationComponent::registerType ( )
static

Definition at line 9 of file AnnotationComponent.cpp.

◆ setValue()

void Cogs::RationalReducerExtension::AnnotationComponent::setValue ( const Cogs::StringView  key,
const Cogs::StringView  value 
)
inline

Add or replace key value using ':' for key/value separator.

Parameters
keyto find.
valuenew key value.

Definition at line 75 of file AnnotationComponent.h.

References indexOfKey(), npos, Cogs::StringView::size(), and Cogs::StringView::to_string().

Member Data Documentation

◆ annotations

std::vector<std::string> Cogs::RationalReducerExtension::AnnotationComponent::annotations

Definition at line 16 of file AnnotationComponent.h.

◆ npos

constexpr auto Cogs::RationalReducerExtension::AnnotationComponent::npos { static_cast<size_t>(-1) }
staticconstexpr

Undefined index.

Definition at line 22 of file AnnotationComponent.h.

Referenced by containsKey(), getValue(), indexOfKey(), and setValue().


The documentation for this struct was generated from the following files: