- /**
- * @file kc_memory_entry_inner.h
- * @brief KC メモリ管理 Entry サブモジュール (内部用)
- * @copyright 2003 - 2023 Nomura Kei
- * @depends
- * kc.h
- * kc_memory_mark.h
- * kc_memory_entry.h
- *
- * KcMemoryEntry の操作をする関数群を格納したサブモジュールです。
- */
- #ifndef KC_MEMORY_ENTRY_INNER_H
- #define KC_MEMORY_ENTRY_INNER_H
-
- #include <kc_memory_entry.h>
-
- #ifdef __cplusplus
- extern "C"
- {
- namespace kc
- {
- using namespace std;
- #endif
-
- /**
- * KcMemoryEntry を構築します。
- * entry が NULL の場合、新規に KeMemoryEntry を構築します。
- * entry が NULL でない場合、entry の管理するメモリサイズを変更し、各種値を更新します。
- * 構築に失敗した場合、NULL を返します。
- *
- * @param entry メモリエントリ
- * @param alignment アライメント
- * @param size メモリサイズ
- * @param mark メモリ状態
- * @param file メモリ確保ファイル名
- * @param func メモリ確保関数名
- * @param line メモリ確保行番号
- * @return 構築した KcMemoryEntry
- */
- KcMemoryEntry *KcMemoryEntry_new(KcMemoryEntry *entry, size_t alignment, size_t size,
- KcMemoryMark mark, const char *file, const char *func, int line);
- /**
- * KcMemoryEntry を破棄します。
- *
- * @param entry 破棄するメモリエントリ
- */
- void KcMemoryEntry_delete(KcMemoryEntry *entry);
-
- /**
- * 指定された entry に、指定された値を設定します。
- * entry が NULL の場合、何もしません。
- *
- * @param entry メモリエントリ
- * @param size メモリサイズ
- * @param mark メモリ状態
- * @param file メモリ確保ファイル名
- * @param func メモリ確保関数名
- * @param line メモリ確保行番号
- */
- void KcMemoryEntry_set(KcMemoryEntry *entry,
- size_t size, KcMemoryMark mark, const char *file, const char *func, int line);
-
- #ifdef __cplusplus
- } // namespace kc
- } // extern "C"
- #endif
- #endif // KC_MEMORY_ENTRY_INNER_H