acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
this_type.h
1//
2// this_type.h
3// acme
4//
5// Created by Camilo Sasuke Thomas Borregaard Soerensen on 08/06/22.
6// Copyright (c) 2022 Camilo Sasuke Thomas Borregaard Soerensen. All rights reserved.
7//
8
9
10#pragma once
11
12
13CLASS_DECL_ACME void this_type_init(const ::scoped_string & scopedstrThisType);
14
15
16CLASS_DECL_ACME void this_type_term(const ::scoped_string & scopedstrThisType);
17
18
19class this_type
20{
21public:
22
23
24 const_char_pointer m_psz;
25
26
27 this_type(const ::scoped_string & scopedstr) :
28 m_psz(scopedstr)
29 {
30
31 this_type_init(m_psz);
32
33 }
34
35
36 ~this_type()
37 {
38
39 this_type_term(m_psz);
40
41 }
42
43
44};
45
46
47#define IMPLEMENT_THIS_TYPE(type) static this_type g_type_ ## type(MAKE_STRING(type));
48
49
50