CX Framework
Cross-platform C utility framework
Loading...
Searching...
No Matches
objimpl.h
Go to the documentation of this file.
1#pragma once
2
5
6#include <cx/obj/objiface.h>
7#include <cx/obj/objclass.h>
8#include <cx/utils/macros/salieri.h>
9
20
21_Ret_notnull_ ObjInst *_objInstCreate(_In_ ObjClassInfo *cls);
49#define objInstCreate(clsname) (clsname*)_objInstCreate(&objClassInfoName(clsname))
50
51bool _objInstInit(_Inout_ ObjInst *inst, _In_ ObjClassInfo *cls);
65#define objInstInit(inst) _objInstInit(objInstBase(inst), (inst)->_clsinfo)
66
80intptr objDefaultCmp(_In_ void *self, _In_ void *other, uint32 flags);
81
94uint32 objDefaultHash(_In_ void *self, uint32 flags);
95
99#define _objinit_guaranteed _Post_equal_to_(true)
100
104#define _objfactory_guaranteed _Ret_valid_
105
110#define _objfactory_check _Ret_opt_valid_ _Check_return_
111
uint32 objDefaultHash(void *self, uint32 flags)
intptr objDefaultCmp(void *self, void *other, uint32 flags)
Class definitions and instance management for the object system.
Interface definitions and management for the object system.