aboutsummaryrefslogtreecommitdiff
path: root/src/common/common_types.h
diff options
context:
space:
mode:
authorYuri Kunde Schlesner <yuriks@yuriks.net>2015-05-07 11:45:45 -0700
committerYuri Kunde Schlesner <yuriks@yuriks.net>2015-05-07 11:45:45 -0700
commit4f4d230dac936f32cceb8be35fe09822d85bb2b6 (patch)
treea180a736708834708e0e5b95fd1720f37722b429 /src/common/common_types.h
parent337f1e1b96445b81c40c313b1bf680fe660f14f5 (diff)
parentc956e8a6869d0ee1edd68a6ab880efa6bf1fbe70 (diff)
Merge pull request #721 from yuriks/more-cleanups
More cleanups
Diffstat (limited to 'src/common/common_types.h')
-rw-r--r--src/common/common_types.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/common/common_types.h b/src/common/common_types.h
index 1b453e7f5..644709ba6 100644
--- a/src/common/common_types.h
+++ b/src/common/common_types.h
@@ -47,6 +47,11 @@ typedef std::int64_t s64; ///< 64-bit signed int
typedef float f32; ///< 32-bit floating point
typedef double f64; ///< 64-bit floating point
+// TODO: It would be nice to eventually replace these with strong types that prevent accidental
+// conversion between each other.
+typedef u32 VAddr; ///< Represents a pointer in the userspace virtual address space.
+typedef u32 PAddr; ///< Represents a pointer in the ARM11 physical address space.
+
/// Union for fast 16-bit type casting
union t16 {
u8 _u8[2]; ///< 8-bit unsigned char(s)
@@ -73,6 +78,16 @@ union t64 {
u8 _u8[8]; ///< 8-bit unsigned char(s)
};
+// An inheritable class to disallow the copy constructor and operator= functions
+class NonCopyable {
+protected:
+ NonCopyable() = default;
+ ~NonCopyable() = default;
+
+ NonCopyable(NonCopyable&) = delete;
+ NonCopyable& operator=(NonCopyable&) = delete;
+};
+
namespace Common {
/// Rectangle data structure
class Rect {