Flip Reference

 

ClassDescription Template Class Reference

Namespace

ohm::flip

Declared in

ohm/flip/ClassDescription.h

Companion Guide

Flip Programming Guide: Writing a Flip Class Part 1

See also

Flip Reference: ClassDescManager Class Reference

Overview

The ClassDescription template class implements a class that holds one Flip class declaration. The following sections will only document the public API.

Partial Class Diagram

Methods Overview

Manipulating

Methods

set_name

Declares the name of this Flip class.

void           set_name (const char * name_0);

WARNING:name_0 must be a static character string, usually a string literal.

inherit

Declares that this Flip class inherit from the U Flip class.

template <class U>
void           inherit ();

Important:U must be declared before this class is declared.

push_var_desc

Declares a member of a this and set a name to it for the back-end document writer.

template <class U>
void           push_var_desc (U T::*var, const char * var_name_0);
template <class U, archi::Int64 MIN, archi::Int64 NBR>
void           push_var_desc (Enum <U, MIN, NBR> T::*var, const char * var_name_0);
template <class U>
void           push_var_desc (ObjectRef <U> T::*var, const char * var_name_0);
template <class U>
void           push_var_desc (Array <U> T::*var, const char * var_name_0);
template <class U>
void           push_var_desc (Collection <U> T::*var, const char * var_name_0);

WARNING:var_name_0 must be a static character string, usually a string literal.

Important:if the compound type is a custom Flip class, it must be declared before this class.

enable_root

Declares that this Flip class is the root Flip class, and set the format version of the document for the back-end document writer.

void           enable_root (const std::string & format_version_str);

Note:The root class is always the last declared class.

forbid_instantiation

Since the Flip framework does not support pure virtual classes, this function allows to detect incorrect instantiation at runtime.

void           forbid_instantiation ();