ImSQL
C++ 기반 SQL 자동화 및 라이선스 관리 엔진
|
참조 카운트를 수동 관리하는 Smart Pointer 유틸리티를 제공합니다. More...
#include <memory>
#include <mutex>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <string>
#include <netdb.h>
#include <arpa/inet.h>
#include <unistd.h>
Go to the source code of this file.
Classes | |
struct | smartptr::NetworkInfo |
네트워크 정보 구조체 (IPv4 전용). More... | |
struct | smartptr::SharedPtr |
수동 참조 카운트를 가지는 Smart Shared Pointer 구조체. More... | |
struct | smartptr::UniquePtr |
고유 소유권을 가지는 Unique Pointer 구조체. More... | |
Macros | |
#define | SMARTPTR_H |
#define | RETAIN_SHARED_PTR(ptr) |
SharedPtr 참조를 증가시키는 매크로 | |
#define | RELEASE_SHARED_PTR(ptr) |
SharedPtr 참조를 감소시키는 매크로 | |
Functions | |
void | smartptr::default_deleter (void *ptr) |
기본 메모리 해제 함수. | |
NetworkInfo | smartptr::get_local_network_info () |
로컬 시스템의 IPv4 네트워크 정보를 가져옵니다. | |
SharedPtr | smartptr::create (size_t size, void(*deleter)(void *)=default_deleter) |
SharedPtr을 생성합니다. | |
void | smartptr::retain (SharedPtr *sp) |
SharedPtr의 참조 카운트를 증가시킵니다. | |
void | smartptr::release (SharedPtr *sp) |
SharedPtr의 참조 카운트를 감소시키고, 필요 시 메모리를 해제합니다. | |
UniquePtr | smartptr::make_unique (size_t size, void(*deleter)(void *)=default_deleter) |
UniquePtr을 생성합니다. | |
void | smartptr::destroy (UniquePtr *up) |
UniquePtr이 가리키는 메모리를 해제합니다. | |
UniquePtr | smartptr::transfer (UniquePtr *up) |
UniquePtr의 소유권을 다른 UniquePtr로 이전합니다. | |
참조 카운트를 수동 관리하는 Smart Pointer 유틸리티를 제공합니다.
|
inline |
SharedPtr을 생성합니다.
size | 할당할 메모리 크기 (바이트 단위) |
deleter | 메모리 해제 함수 (기본값: free) |
|
inline |
기본 메모리 해제 함수.
ptr | 해제할 메모리 포인터 |
|
inline |
UniquePtr이 가리키는 메모리를 해제합니다.
up | 해제할 UniquePtr 포인터 |
|
inline |
로컬 시스템의 IPv4 네트워크 정보를 가져옵니다.
|
inline |
UniquePtr을 생성합니다.
size | 할당할 메모리 크기 (바이트 단위) |
deleter | 메모리 해제 함수 (기본값: free) |
|
inline |
SharedPtr의 참조 카운트를 감소시키고, 필요 시 메모리를 해제합니다.
sp | 대상 SharedPtr 포인터 |
|
inline |
SharedPtr의 참조 카운트를 증가시킵니다.
sp | 대상 SharedPtr 포인터 |
|
inline |
UniquePtr의 소유권을 다른 UniquePtr로 이전합니다.
up | 소유권을 이전할 UniquePtr 포인터 |