13class CLASS_DECL_ACME memory_container :
14 virtual public ::particle
19 ::pointer<memory_base> m_pmemory;
29 memory_container(memsize size = 0);
30 memory_container(
const memory_container & container);
31 memory_container(
const void * pdata, memsize size);
32 template < prototype_payload PAYLOAD >
33 memory_container(PAYLOAD &
payload);
35 memory_container(const ::pointer < memory_base > & pmemory);
36 memory_container(::pointer < memory_base >&& pmemory);
37 template <
typename MEMORY>
38 memory_container(const ::pointer<MEMORY> pmemory, ::file::e_open eopen = {}) : memory_container((
MEMORY*)pmemory.get(), eopen) {}
39 virtual ~memory_container();
41 virtual void create_default_memory();
43 inline void defer_create_default_memory() {
if (!m_pmemory) create_default_memory(); }
45 void allocate_add_up(memsize dwAddUp);
46 void set_size(memsize dwNewLength);
47 void allocate_internal(memsize dwNewLength);
49 virtual ::pointer<memory_base>create_memory(
const void * p =
nullptr, memsize s = 0);
50 ::pointer<memory_base>get_memory();
51 void set_memory(::pointer<memory_base>pmemory);
54 inline memory_base & memory() {
return *get_memory(); }
56 memsize size()
const { return ::is_null(m_pmemory) ? 0 : m_pmemory->size(); }
58 memsize storage_size()
const {
return m_pmemory->storage_size(); }
60 void from_string(const ::wide_character * pwsz);
61 void from_string(const ::scoped_string & scopedstr);
62 void from_string(const ::string & str);
63 template < prototype_payload PAYLOAD >
64 void from_string(
const PAYLOAD &
payload);
65 ::string as_string()
const override;
66 virtual ::memory as_memory()
const;
73 ::u8 * data() { return ::is_set(m_pmemory)?m_pmemory->data():
nullptr; }
74 const ::u8 * data()
const { return ::is_set(m_pmemory) ? m_pmemory->data() :
nullptr; }
76 ::u8 * begin() {
return data(); }
77 const ::u8 * begin()
const {
return data(); }
79 ::u8 * end() { return ::is_set(m_pmemory) ? m_pmemory->end() :
nullptr; }
80 const ::u8 * end()
const { return ::is_set(m_pmemory) ? m_pmemory->end() :
nullptr; }
85 virtual bool is_valid()
const;
87 void copy_this(
const memory_container & container);
89 memory_container & operator =(
const memory_container &container);
93 ::pointer < memory_base > detach();
95 virtual class memory * get_primitive_memory();
96#if !defined(UNIVERSAL_WINDOWS)
103 void set_string(const ::scoped_string & scopedstr);
Definition paged_memory.h:9