Panda3D
 All Classes Functions Variables Enumerations
Public Member Functions | List of all members
ConfigVariableEnum< EnumType > Class Template Reference

This class specializes ConfigVariable as an enumerated type. More...

#include "configVariableEnum.h"

Inheritance diagram for ConfigVariableEnum< EnumType >:
ConfigVariable ConfigVariableBase ConfigFlags

Public Member Functions

 ConfigVariableEnum (const string &name, EnumType default_value, const string &description=string(), int flags=0)
 
 ConfigVariableEnum (const string &name, const string &default_value, const string &description=string(), int flags=0)
 
EnumType get_default_value () const
 Returns the variable's default value. More...
 
EnumType get_value () const
 Returns the variable's value. More...
 
EnumType get_word (int n) const
 Returns the variable's nth value. More...
 
 operator EnumType () const
 Returns the variable's value. More...
 
void operator= (EnumType value)
 Reassigns the variable's local value. More...
 
EnumType operator[] (int n) const
 Returns the value of the variable's nth word. More...
 
void set_value (EnumType value)
 Reassigns the variable's local value. More...
 
void set_word (int n, EnumType value)
 Reassigns the variable's nth value. More...
 
int size () const
 Returns the number of unique words in the variable. More...
 
- Public Member Functions inherited from ConfigVariable
 ConfigVariable (const string &name)
 Use this constructor to make a ConfigVariable of an unspecified type. More...
 
void clear_value ()
 Removes the value assigned to this variable, and lets its original value (as read from the prc files) show through. More...
 
bool get_bool_word (int n) const
 Returns the boolean value of the nth word of the variable's value, or false if there is no nth value. More...
 
const ConfigDeclarationget_default_value () const
 Returns the default variable specified for this variable. More...
 
double get_double_word (int n) const
 Returns the integer value of the nth word of the variable's value, or 0 if there is no nth value. More...
 
PN_int64 get_int64_word (int n) const
 Returns the int64 value of the nth word of the variable's value, or 0 if there is no nth value. More...
 
int get_int_word (int n) const
 Returns the integer value of the nth word of the variable's value, or 0 if there is no nth value. More...
 
int get_num_words () const
 Returns the number of words in the variable's value. More...
 
const string & get_string_value () const
 Returns the toplevel value of the variable, formatted as a string. More...
 
string get_string_word (int n) const
 Returns the string value of the nth word of the variable's value, or empty string if there is no nth value. More...
 
bool has_bool_word (int n) const
 Returns true if the variable's value has a valid boolean value for the nth word. More...
 
bool has_double_word (int n) const
 Returns true if the variable's value has a valid integer value for the nth word. More...
 
bool has_int64_word (int n) const
 Returns true if the variable's value has a valid 64-bit integer value for the nth word. More...
 
bool has_int_word (int n) const
 Returns true if the variable's value has a valid integer value for the nth word. More...
 
bool has_string_word (int n) const
 Returns true if the variable's value has a valid string value for the nth word. More...
 
void set_bool_word (int n, bool value)
 Changes the nth word to the indicated value without affecting the other words. More...
 
void set_double_word (int n, double value)
 Changes the nth word to the indicated value without affecting the other words. More...
 
void set_int64_word (int n, PN_int64 value)
 Changes the nth word to the indicated value without affecting the other words. More...
 
void set_int_word (int n, int value)
 Changes the nth word to the indicated value without affecting the other words. More...
 
void set_string_value (const string &value)
 Changes the value assigned to this variable. More...
 
void set_string_word (int n, const string &value)
 Changes the nth word to the indicated value without affecting the other words. More...
 
- Public Member Functions inherited from ConfigVariableBase
bool clear_local_value ()
 Removes the local value defined for this variable, and allows its value to be once again retrieved from the .prc files. More...
 
const string & get_description () const
 Returns the brief description of this variable, if it has been defined. More...
 
int get_flags () const
 Returns the flags value as set by set_flags(). More...
 
const string & get_name () const
 Returns the name of the variable. More...
 
int get_trust_level () const
 Returns the minimum trust_level a prc file must demonstrate in order to redefine the value for this variable. More...
 
ValueType get_value_type () const
 Returns the stated type of this variable. More...
 
bool has_local_value () const
 Returns true if this variable's value has been shadowed by a local assignment (as created via make_local_value()), or false otherwise. More...
 
bool has_value () const
 Returns true if this variable has an explicit value, either from a prc file or locally set, or false if variable has its default value. More...
 
bool is_closed () const
 Returns true if the variable is not trusted by any prc file (and hence cannot be modified from its compiled-in default value), or false for the normal case, in which the variable can be modified by any prc file at or above its trust level (see get_trust_level()). More...
 
bool is_dynamic () const
 Returns true if the variable was indicated as "dynamic" by its constructor, indicating that its name was dynamically generated, possibly from a large pool, and it should not be listed along with the other variables. More...
 
void output (ostream &out) const
 
void write (ostream &out) const
 

Additional Inherited Members

- Public Types inherited from ConfigFlags
enum  ValueType {
  VT_undefined, VT_list, VT_string, VT_filename,
  VT_bool, VT_int, VT_double, VT_enum,
  VT_search_path, VT_int64, VT_color
}
 
enum  VariableFlags {
  F_trust_level_mask = 0x00000fff, F_open = 0x00001000, F_closed = 0x00002000, F_dynamic = 0x00004000,
  F_dconfig = 0x00008000
}
 

Detailed Description

template<class EnumType>
class ConfigVariableEnum< EnumType >

This class specializes ConfigVariable as an enumerated type.

It is a template class, so it cannot be easily published; it's not really necessary outside of C++ anyway.

This variable assumes that the enumerated type in question has input and output stream operators defined that do the right thing (outputting a sensible string for the type, and converting a string to the correct value).

Definition at line 35 of file configVariableEnum.h.

Member Function Documentation

template<class EnumType >
EnumType ConfigVariableEnum< EnumType >::get_default_value ( ) const
inline

Returns the variable's default value.

Definition at line 148 of file configVariableEnum.I.

References ConfigVariable::get_default_value(), and ConfigDeclaration::get_string_value().

template<class EnumType >
EnumType ConfigVariableEnum< EnumType >::get_value ( ) const
inline

Returns the variable's value.

Definition at line 132 of file configVariableEnum.I.

template<class EnumType >
EnumType ConfigVariableEnum< EnumType >::get_word ( int  n) const
inline

Returns the variable's nth value.

Definition at line 166 of file configVariableEnum.I.

template<class EnumType >
ConfigVariableEnum< EnumType >::operator EnumType ( ) const
inline

Returns the variable's value.

Definition at line 88 of file configVariableEnum.I.

template<class EnumType>
void ConfigVariableEnum< EnumType >::operator= ( EnumType  value)
inline

Reassigns the variable's local value.

Definition at line 77 of file configVariableEnum.I.

template<class EnumType >
EnumType ConfigVariableEnum< EnumType >::operator[] ( int  n) const
inline

Returns the value of the variable's nth word.

Definition at line 110 of file configVariableEnum.I.

template<class EnumType>
void ConfigVariableEnum< EnumType >::set_value ( EnumType  value)
inline

Reassigns the variable's local value.

Definition at line 121 of file configVariableEnum.I.

template<class EnumType>
void ConfigVariableEnum< EnumType >::set_word ( int  n,
EnumType  value 
)
inline

Reassigns the variable's nth value.

This makes a local copy of the variable's overall value.

Definition at line 178 of file configVariableEnum.I.

template<class EnumType >
int ConfigVariableEnum< EnumType >::size ( ) const
inline

Returns the number of unique words in the variable.

Definition at line 99 of file configVariableEnum.I.


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