Bpp/Standard
Class
C++
 
 
DESCRIPTION
 

This module provides facilities to manage classes.

 
SOURCE FILES
 

This section allows you to access the C++ source files of the module.

 
PARENT MODULE
 

This module is part of Bpp/Standard.

 
INCLUDED FILES
 

The files listed below are included in the interface part of the module. So any module dependent of this module is also dependent of the files listed here.

  • <cstring>

  • <string>

  • <utility>

  • <bpp/standard/environment.hpp>

  • <bpp/standard/type.hpp>

 
INTEGRATED NAMESPACES
 

The namespaces listed below are integrated in this module. That means any element declared in one of those namespaces can now be directly used by or from this module.

  • standardType

 
MACROCOMMANDS
 

The macrocommands listed below can be used without specifying the namespace where they have been defined. That means you can not define an element by your own that have the same name.

  • add_method_slot(prMethod)
    Provides a slot for a given method. A slot is a nested class (without any code) with a name similar to the name of the original method (_slot is appended to the original name). Thus it allows to associate a static identifier with a method. This is useful when the method pointer needs to be given as a template parameter: instead of giving the method pointer (that is not a global reference), the associated static identifier (i.e. the method slot) is provided.

  • method_slot(prClass,prMethod)
    Provides the slot of a given method.

  • method_no(prReference,prClass,prMethod)
    Provides the unique number (from a given reference) assigned to a method.

  • class_no(prReference,prClass)
    Provides the unique number (from a given reference) assigned to a class.

  • class_indexer(prReference)
    Declares a class indexer inside a reference class.

  • static_class_indexer(prReference)
    Creates the class indexer of a reference class.

  • type_wrapper(prType)
    Wraps a type into a class. See the TypeWrapper class for details.

 
FUNCTIONS
 

Here are listed the functions provided by the module. To use one of them, you have to specify the namespace of the module.

 
CLASSES
 

Here are listed the classes provided by the module. To use one of them, you have to specify the namespace of the module.

 
clBaseObject
 
 
Declaration

class clBaseObject

 
Description

Defines the base class of all the other classes.

 
Methods
 
clClassIndexer
 
 
Declaration

template <class prReference> class clClassIndexer : public clBaseObject

 
Description

Represents the indexer of a set of classes. It is used to assign unique numbers to classes and their methods. The numbering is a continuous sequence of indexes, starting from 0, so it is possible to store and access quickly data for the classes and their methods (through vectors for instance). An indexer must be located inside a class, called the reference for all the information that the class indexer and its associated classes (clClassInformation and clMethodInformation) can provide.

 
Methods
 
clClassIndex
 
 
Declaration

template <class prReference,class prClass> class clClassIndex : public clBaseObject

 
Description

Represents the index of a class according to a given reference.

 
Attributes
  • tyCardinal value()
    Value of the index. Reading access only.

 
Methods
 
clMethodIndex
 
 
Declaration

template <class prReference,class prClass> class clMethodIndex : public clBaseObject

 
Description

Represents the index of a class according to a given reference.

 
Attributes
  • tyCardinal value()
    Value of the index. Reading access only.

 
Methods
 
clClassInformation
 
 
Declaration

template <class prReference,class prClass> class clClassInformation : public clBaseObject

 
Description

Represents information (from a given reference) about a class. This class can not be instantiated.

 
Types
  • type clClassIndex<prReference,prClass> cpIndex
    Type of the index of the class.

 
Attributes
  • cpIndex index()
    Index of the class. Reading access only, static attribute.

 
clMethodInformation
 
 
Declaration

template <class prReference,class prClass,class prMethod> class clMethodInformation : public clBaseObject

 
Description

Represents information (from a given reference) about a method. The last parameter prMethod is not a pointer on the method, but a slot (it is a static identifier the user must associate with the method, see the add_method_slot macrocommand for details). This class can not be instantiated.

 
Types
  • type clMethodIndex<prReference,prClass> cpIndex
    Type of the index of the method.

 
Attributes
  • cpIndex index()
    Index of the method. Reading access only, static attribute.

 
clTypeWrapper
 
 
Declaration

template <class prType> class clTypeWrapper

 
Description

Wraps a type into a class. It is useful to manipulate a complex type expression (like a function pointer) as a single expression. Abstract class.

 
Types
  • type prType clType
    Type of the parameter of the template.

 
clVersion
 
 
Declaration

template <int prVersion> class clVersion : public clBaseObject

 
Description

Represents a version of an algorithm. Necessary to manipulate an algorithm that has several implementations.

 
Methods
 
 
Copyright (c) 1999-2016 - Bruno Bachelet - bruno@nawouak.net - http://www.nawouak.net
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation. See this license for more details (http://www.gnu.org).