#include <y2util/MemUsage.h>
#include <iosfwd>
#include <string>
#include <vector>
#include <map>
#include "toString.h"
Go to the source code of this file.
| #define DEF_COMMON |
( |
|
name, |
|
|
|
base |
|
) |
| |
Value:
friend
class YCP##base##
Rep; \
public: \
DEF_MEMSIZE(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) {} \
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); \
} \
std::ostream & toXml (std::ostream & str, int indent ) const { \
return element->toXml( str, indent ); \
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; \
| #define DEF_MEMSIZE |
( |
|
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; \