Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Examples

YCPElement.h File Reference

#include <y2util/MemUsage.h>
#include <iosfwd>
#include <string>
#include <vector>
#include <map>
#include "toString.h"

Go to the source code of this file.

Defines

#define DEF_OPS(name)
#define DEF_COMMON(name, base)
#define DEF_COW_OPS(name)
#define DEF_COW_COMMON(name, base)


Define Documentation

#define DEF_COMMON name,
base   ) 
 

Value:

DEF_OPS(name)                                           \
    friend class YCP##base##Rep;                                \
public:                                                         \
    virtual size_t mem_size () const { return sizeof (YCP##name); } \
    YCP##name(const YCPNull &n) : YCP##base(n) {}               \
protected:                                                      \
    YCP##name (const YCP##name##Rep *x) : YCP##base(x) {}

#define DEF_COW_COMMON name,
base   ) 
 

Value:

friend class YCP##base##Rep;                            \
    DEF_COW_OPS(name)                                           \
public:                                                         \
    YCP##name(const YCPNull &n) : YCP##base(n) {}               \
protected:                                                      \
    YCP##name (const YCP##name##Rep *x) : YCP##base(x) {}       \
public:                                                         \
    YCPOrder compare(const YCP##name x) const {                 \
        return (static_cast<const YCP##name##Rep*>(element))->compare(x);                               \
    }                                                           \
    string toString () const { return element->toString (); }   \
    std::ostream & toStream (std::ostream & str ) const {       \
        return element->toStream (str);                         \
    }                                                           \
    YCPValueType valuetype () const { return (static_cast<const YCP##name##Rep*>(element))->valuetype (); }

#define DEF_COW_OPS name   ) 
 

Value:

public:                                                         \
    const YCP##name *operator ->() const {                      \
        return static_cast<const YCP##name *>(this); }          \
    YCP##name *operator ->() {                                  \
        return const_cast<YCP##name *>(                         \
               static_cast<const YCP##name *>(this)); }         \
private:                                                        \
    int operator !() const;                                     \
    int operator ==(const YCPElement &) const;

#define DEF_OPS name   ) 
 

Value:

public:                                                         \
    const YCP##name##Rep *operator ->() const {                 \
        return static_cast<const YCP##name##Rep *>(element); }  \
    YCP##name##Rep *operator ->() {                             \
        return const_cast<YCP##name##Rep *>(                    \
               static_cast<const YCP##name##Rep *>(element)); } \
private:                                                        \
    int operator !() const;                                     \
    int operator ==(const YCPElement &) const;


Generated on Tue Mar 22 11:35:48 2005 for yast2-core by  doxygen 1.4.1