MFMv2.0.10
Movable Feast Machine Simulator 2.0.10
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Friends
MFM::AtomicParameter< CC > Class Template Referenceabstract
Inheritance diagram for MFM::AtomicParameter< CC >:
MFM::Parameter< CC > MFM::ByteSerializable MFM::AtomicParameterType< CC, VD::U32, BITS_HIGH, APBarWidth::END > MFM::AtomicParameterType< CC, VD::U32, BITS_HIGH, APXPos::END > MFM::AtomicParameterType< CC, VD::U32, BITS_SYMI, APYPos::END > MFM::AtomicParameterType< CC, VD::U32, BITS_TIMER, APSymI::END > MFM::AtomicParameterType< CC, VD::U32, BITS_WIDE, APBarHeight::END > MFM::AtomicParameterType< CC, VD::U32, BITS_WIDE, STATE_BITS_START > MFM::AtomicParameterType< CC, VT, LEN, POS >

Public Member Functions

virtual ByteSerializable::Result PrintTo (ByteSink &byteSink, s32 argument=0)
 
virtual ByteSerializable::Result ReadFrom (ByteSource &byteSource, s32 argument=0)
 
AtomicParameterGetNextParameter ()
 
const AtomicParameterGetNextParameter () const
 
virtual void Print (ByteSink &io)
 
virtual void Print (ByteSink &io, const T &atom) const =0
 
virtual void Reset (T &atom) const =0
 
 AtomicParameter (Element< CC > *pl, const char *tag, const char *name, const char *description, const VD &vdesc)
 
- Public Member Functions inherited from MFM::Parameter< CC >
u32 GetType () const
 
s32 GetMin () const
 
s32 GetDefault () const
 
s32 GetMax () const
 
u32 GetRange () const
 
u32 MapValue (u32 max, s32 val) const
 
void PrintValue (ByteSink &bs, const T &atom)
 
virtual bool ReadValue (ByteSource &bs, T &atom)
 
s32 GetBitsAsS32 (const T &atom) const
 Un-type-checked access treating all bit fields as s32.
 
void SetBitsAsS32 (T &atom, const s32 val) const
 
u64 GetBitsAsU64 (const T &atom) const
 Un-type-checked access treating all bit fields as u64.
 
void SetBitsAsU64 (T &atom, const u64 val) const
 
bool LoadU32 (const T &atom, u32 &store) const
 Routines to (attempt to) apply this parameter to any given atom. More...
 
void StoreU32 (T &atom, const u32 val) const
 
bool LoadS32 (const T &atom, s32 &store) const
 s32 value
 
void StoreS32 (T &atom, const s32 val) const
 
bool LoadBool (const T &atom, bool &store) const
 bool value
 
void StoreBool (T &atom, const bool val) const
 
bool LoadUnary (const T &atom, u32 &store) const
 unary value
 
void StoreUnary (T &atom, const u32 val) const
 
 Parameter (const VD &vd, const char *tag, const char *name, const char *description)
 
const VDGetVD () const
 
const char * GetTag () const
 
const char * GetName () const
 
const char * GetDescription () const
 

Friends

class Parameters< AtomicParameter< CC > >
 

Additional Inherited Members

- Public Types inherited from MFM::ByteSerializable
enum  Result { UNSUPPORTED = -1, FAILURE = 0, SUCCESS = 1 }
 

Member Function Documentation

template<class CC>
virtual ByteSerializable::Result MFM::AtomicParameter< CC >::PrintTo ( ByteSink byteSink,
s32  argument = 0 
)
inlinevirtual

Print a representation of this ByteSerializble to the given byteSink, with its details possibly modified by argument. The meaning of argument is unspecified except that 0 should be interpreted as a request for default, 'no modification', formatting.

Returns
UNSUPPORTED if this object doesn't support printing itself, or SUCCESS if the printing was successful and FAIL if there was any problem.

Implements MFM::ByteSerializable.

template<class CC>
virtual ByteSerializable::Result MFM::AtomicParameter< CC >::ReadFrom ( ByteSource byteSource,
s32  argument = 0 
)
inlinevirtual

Modify this object by reading a representation of a ByteSerializable from the given byteSource, with its details possibly modified by argument. The meaning of argument is unspecified except that 0 should be interpreted as a request for default, 'no modification', interpretation.

Returns
UNSUPPORTED if this object doesn't support reading itself, or SUCCESS if the reading was successful and FAIL if there was any problem.

Implements MFM::ByteSerializable.


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