acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
composite.h
1
#pragma once
2
3
4
5
//
6
//
7
//class CLASS_DECL_ACME string_composite :
8
// public string_interface
9
//{
10
//private:
11
//
12
//
13
// string * m_pstring;
14
// string_interface * m_pinterface;
15
//
16
//
17
//public:
18
//
19
//
20
// inline string_composite() : m_pstring(nullptr), m_pinterface(nullptr) {}
21
// inline string_composite(const string_composite & str) : m_pstring(str.m_pstring), m_pinterface(str.m_pinterface) {}
22
// inline string_composite(string & str) : m_pstring(&str), m_pinterface(nullptr) {}
23
// inline string_composite(const ::scoped_string & scopedstr) : m_pstring((string *) &str), m_pinterface(nullptr) {}
24
// inline string_composite(const string * pstr) : m_pstring(const_cast < string * > (pstr)) , m_pinterface(nullptr) {}
25
// inline string_composite(string_interface & strinterface) : m_pstring(nullptr),m_pinterface(&strinterface) {}
26
// inline string_composite(const string_interface & strinterface) : m_pstring(nullptr), m_pinterface(const_cast < string_interface * > (&strinterface)) {}
27
//
28
//
29
// virtual character_count get_length() const;
30
// virtual void get_string(char_pointer psz) const;
31
// virtual void set_string(const ::scoped_string & scopedstr, const ::action_context & action_context);
32
//
33
//
34
//};
35
//
36
//
37
//
38
//inline character_count string_composite::get_length() const
39
//{
40
//
41
// if(m_pstring != nullptr)
42
// return m_pstring->get_length();
43
// else
44
// return m_pinterface->get_length();
45
//
46
//}
47
//
48
//
49
//inline void string_composite::get_string(char_pointer psz) const
50
//{
51
// if(m_pstring != nullptr)
52
// m_pstring->get_string(scopedstr);
53
// else
54
// m_pinterface->get_string(scopedstr);
55
//}
56
//
57
//inline void string_composite::set_string(const ::scoped_string & scopedstr, const ::action_context & action_context)
58
//{
59
// if(m_pstring != nullptr)
60
// m_pstring->set_string(str);
61
// else
62
// m_pinterface->set_string(str,action_context);
63
//}
64
//
65
//
66
//namespace str
67
//{
68
//
69
// extern CLASS_DECL_ACME const_empty_string g_strEmpty;
70
//
71
// CLASS_DECL_ACME string_interface & empty_string();
72
//
73
//}
74
//
75
//
76
//
77
//template < >
78
//inline string & to_string(string & str,string_composite & ca)
79
//{
80
//
81
// ca.get_string(str.get_buffer(ca.get_length()));
82
//
83
// str.ReleaseBuffer(); // search for 0 termination (if you want a string that accepts nulls, use binary strng (bstring)
84
//
85
// return str;
86
//
87
//}
88
//
89
//
prototype
string
composite.h
Generated by
1.17.0