Renaming to scsl.
This commit is contained in:
parent
dd696e2c1f
commit
05790a95fa
8
Arena.cc
8
Arena.cc
|
@ -21,7 +21,7 @@
|
|||
#include "Arena.h"
|
||||
|
||||
|
||||
namespace klib {
|
||||
namespace scsl {
|
||||
|
||||
|
||||
Arena::Arena()
|
||||
|
@ -280,7 +280,7 @@ Arena::Destroy()
|
|||
std::ostream &
|
||||
operator<<(std::ostream &os, Arena &arena)
|
||||
{
|
||||
auto cursor = arena.NewCursor();
|
||||
auto cursor = arena.Start();
|
||||
char cursorString[33] = {0};
|
||||
snprintf(cursorString, 32, "%#016llx",
|
||||
(long long unsigned int) cursor);
|
||||
|
@ -346,7 +346,7 @@ uint8_t &
|
|||
Arena::operator[](size_t index)
|
||||
{
|
||||
if (index > this->size) {
|
||||
#if defined(KLIB_DESKTOP_BUILD) and !defined(KLIB_NO_ASSERT)
|
||||
#if defined(SCSL_DESKTOP_BUILD) and !defined(SCSL_NO_ASSERT)
|
||||
throw std::range_error("index out of range");
|
||||
#else
|
||||
abort();
|
||||
|
@ -356,4 +356,4 @@ Arena::operator[](size_t index)
|
|||
}
|
||||
|
||||
|
||||
} // namespace klib
|
||||
} // namespace scsl
|
||||
|
|
10
Arena.h
10
Arena.h
|
@ -33,7 +33,7 @@
|
|||
#endif
|
||||
|
||||
|
||||
namespace klib {
|
||||
namespace scsl {
|
||||
|
||||
|
||||
/// \enum ArenaType
|
||||
|
@ -55,7 +55,7 @@ enum class ArenaType
|
|||
/// Arena is the class that implements a memory arena.
|
||||
///
|
||||
/// The Arena uses the concept of a cursor to point to memory in the arena. The
|
||||
/// #NewCursor and #End methods return pointers to the start and end of the
|
||||
/// #Start and #End methods return pointers to the start and end of the
|
||||
/// arena memory.
|
||||
///
|
||||
/// The arena should be initialized with one of the Set methods (SetStatic,
|
||||
|
@ -130,10 +130,10 @@ public:
|
|||
/// \return Returns 0 on success and -1 on error.
|
||||
int Open(const char *path);
|
||||
|
||||
/// NewCursor returns a pointer to the start of the memory in the arena.
|
||||
/// Start returns a pointer to the start of the memory in the arena.
|
||||
///
|
||||
/// \return A pointer to the start of the arena memory.
|
||||
uint8_t *NewCursor() const
|
||||
uint8_t *Start() const
|
||||
{ return this->store; }
|
||||
|
||||
/// End returns a pointer to the end of the arena memory.
|
||||
|
@ -216,7 +216,7 @@ private:
|
|||
std::ostream &operator<<(std::ostream &os, Arena &arena);
|
||||
|
||||
|
||||
} // namespace klib
|
||||
} // namespace scsl
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
#include "Buffer.h"
|
||||
|
||||
namespace klib {
|
||||
namespace scsl {
|
||||
|
||||
|
||||
/// The defaultCapacity for a new Buffer is a reasonably arbitrary starting
|
||||
|
@ -330,7 +330,7 @@ uint8_t &
|
|||
Buffer::operator[](size_t index)
|
||||
{
|
||||
if (index > this->length) {
|
||||
#if defined(KLIB_DESKTOP_BUILD) and !defined(KLIB_NO_ASSERT)
|
||||
#if defined(SCSL_DESKTOP_BUILD) and !defined(SCSL_NO_ASSERT)
|
||||
throw std::range_error("array index out of bounds");
|
||||
#else
|
||||
abort();
|
||||
|
@ -360,4 +360,4 @@ operator<<(std::ostream &os, const Buffer &buf)
|
|||
}
|
||||
|
||||
|
||||
} // namespace klib
|
||||
} // namespace scsl
|
||||
|
|
4
Buffer.h
4
Buffer.h
|
@ -16,7 +16,7 @@
|
|||
#include <cstdint>
|
||||
|
||||
|
||||
namespace klib {
|
||||
namespace scsl {
|
||||
|
||||
/// Buffer is a basic line buffer.
|
||||
///
|
||||
|
@ -211,7 +211,7 @@ std::ostream &operator<<(std::ostream &os, const Buffer &buf);
|
|||
/// differ.
|
||||
inline bool operator!=(const Buffer &lhs, const Buffer &rhs) { return !(lhs == rhs); };
|
||||
|
||||
} // namespace klib
|
||||
} // namespace scsl
|
||||
|
||||
|
||||
#endif // KGE_BUFFER_H
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Doxygen support for klib.
|
||||
# Doxygen support for scsl.
|
||||
find_package(Doxygen)
|
||||
|
||||
if (${DOXYGEN_FOUND})
|
||||
|
@ -6,11 +6,11 @@ set(DOXYGEN_GENERATE_MAN YES)
|
|||
set(DOXYGEN_GENERATE_LATEX YES)
|
||||
#set(DOXYGEN_EXTRACT_ALL YES)
|
||||
|
||||
doxygen_add_docs(klib_docs
|
||||
doxygen_add_docs(scsl_docs
|
||||
${HEADER_FILES} ${SOURCE_FILES}
|
||||
USE_STAMP_FILE)
|
||||
add_dependencies(klib klib_docs)
|
||||
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION share/doc/klib)
|
||||
add_dependencies(scsl scsl_docs)
|
||||
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION share/doc/scsl)
|
||||
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man DESTINATION share)
|
||||
|
||||
endif ()
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
cmake_minimum_required(VERSION 3.25)
|
||||
project(klib LANGUAGES CXX
|
||||
project(scsl LANGUAGES CXX
|
||||
VERSION 0.1.0
|
||||
DESCRIPTION "Kyle's C++ library")
|
||||
DESCRIPTION "Shimmering Clarity Standard Library")
|
||||
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
set(CMAKE_VERBOSE_MAKEFILES TRUE)
|
||||
|
@ -25,10 +25,10 @@ else ()
|
|||
# nothing special for gcc at the moment
|
||||
endif ()
|
||||
endif ()
|
||||
add_compile_definitions(DKLIB_DESKTOP_BUILD)
|
||||
add_compile_definitions(KLIB_VERSION=${PROJECT_VERSION})
|
||||
add_compile_definitions(SCSL_DESKTOP_BUILD)
|
||||
add_compile_definitions(SCSL_VERSION=${PROJECT_VERSION})
|
||||
|
||||
set(HEADER_FILES klib.h
|
||||
set(HEADER_FILES scsl.h
|
||||
Arena.h
|
||||
Buffer.h
|
||||
Dictionary.h
|
||||
|
@ -51,55 +51,59 @@ set(SOURCE_FILES
|
|||
WinHelpers.cc)
|
||||
|
||||
if (APPLE)
|
||||
add_library(klib
|
||||
add_library(scsl
|
||||
STATIC
|
||||
${SOURCE_FILES} ${HEADER_FILES})
|
||||
else ()
|
||||
add_library(klib
|
||||
add_library(scsl
|
||||
STATIC
|
||||
${SOURCE_FILES} ${HEADER_FILES})
|
||||
endif()
|
||||
|
||||
add_executable(phonebook phonebook.cc)
|
||||
target_link_libraries(phonebook klib)
|
||||
target_link_libraries(phonebook scsl)
|
||||
|
||||
include(CTest)
|
||||
enable_testing()
|
||||
|
||||
add_executable(tlv_test tlvTest.cc)
|
||||
target_link_libraries(tlv_test klib)
|
||||
target_link_libraries(tlv_test scsl)
|
||||
add_test(tlvTest tlv_test)
|
||||
|
||||
add_executable(dictionary_test dictionaryTest.cc)
|
||||
target_link_libraries(dictionary_test klib)
|
||||
target_link_libraries(dictionary_test scsl)
|
||||
add_test(dictionaryTest dictionary_test)
|
||||
|
||||
add_executable(buffer_test bufferTest.cc)
|
||||
target_link_libraries(buffer_test klib)
|
||||
target_link_libraries(buffer_test scsl)
|
||||
add_test(bufferTest buffer_test)
|
||||
|
||||
add_executable(stringutil_test stringutil_test.cc)
|
||||
target_link_libraries(stringutil_test klib)
|
||||
target_link_libraries(stringutil_test scsl)
|
||||
add_test(stringutilTest stringutil_test)
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
write_basic_package_version_file(
|
||||
klibConfig.cmake
|
||||
scslConfig.cmake
|
||||
VERSION ${PACKAGE_VERSION}
|
||||
COMPATIBILITY AnyNewerVersion
|
||||
)
|
||||
|
||||
if (${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR})
|
||||
if (NOT ${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR})
|
||||
add_custom_target(cloc
|
||||
COMMAND cloc ${SOURCE_FILES} ${HEADER_FILES}
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
|
||||
add_custom_target(deploy-docs
|
||||
COMMAND rsync --progress -auvz ${CMAKE_CURRENT_BINARY_DIR}/html/* docs.shimmering-clarity.net:sites/cc/
|
||||
DEPENDS scsl_docs
|
||||
)
|
||||
|
||||
configure_file(klib.pc.in klib.pc @ONLY)
|
||||
install(TARGETS klib LIBRARY DESTINATION lib)
|
||||
configure_file(scsl.pc.in scsl.pc @ONLY)
|
||||
install(TARGETS scsl LIBRARY DESTINATION lib)
|
||||
install(TARGETS phonebook RUNTIME DESTINATION bin)
|
||||
install(FILES ${HEADER_FILES} DESTINATION include/klib)
|
||||
install(FILES klibConfig.cmake DESTINATION share/klib/cmake)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/klib.pc DESTINATION lib/pkgconfig)
|
||||
install(FILES ${HEADER_FILES} DESTINATION include/scsl)
|
||||
install(FILES scslConfig.cmake DESTINATION share/scsl/cmake)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/scsl.pc DESTINATION lib/pkgconfig)
|
||||
|
||||
include(CMakePack.txt)
|
||||
include(CMakeDocs.txt)
|
||||
|
|
|
@ -2,17 +2,17 @@
|
|||
include(InstallRequiredSystemLibraries)
|
||||
|
||||
set(CPACK_PACKAGE_VENDOR "Shimmering Clarity")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Common C++ functionality.")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "The Shimmering Clarity standard C++ library.")
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
|
||||
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
|
||||
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
|
||||
|
||||
# Debian settings
|
||||
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "K. Isom")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "The Shimmering Clarity C++ library")
|
||||
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Shimmering Clarity")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "The Shimmering Clarity standard C++ library")
|
||||
set(CPACK_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION})
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc++1 (>= 3.7.0-1)")
|
||||
set(CPACK_DEBIAN_PACKAGE_SECTION devel)
|
||||
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS ON)
|
||||
|
||||
if(LINUX)
|
||||
set(CPACK_GENERATOR "DEB;STGZ;TGZ")
|
||||
|
@ -32,5 +32,5 @@ set(CPACK_SOURCE_IGNORE_FILES
|
|||
/.*build.*)
|
||||
|
||||
include (CPack)
|
||||
add_custom_target(package_docs DEPENDS klib_docs package package_source)
|
||||
add_custom_target(package_docs DEPENDS SCSL_docs package package_source)
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
///
|
||||
/// \file Commander.cpp
|
||||
/// \file Commander.cc
|
||||
/// \author kyle
|
||||
/// \date 2023-10-10
|
||||
///
|
||||
|
@ -7,7 +7,7 @@
|
|||
#include <iostream>
|
||||
#include "Commander.h"
|
||||
|
||||
namespace klib {
|
||||
namespace scsl {
|
||||
|
||||
|
||||
Subcommand::Status
|
||||
|
@ -57,4 +57,4 @@ Commander::Run(std::string command, int argc, char **argv)
|
|||
}
|
||||
|
||||
|
||||
} // klib
|
||||
} // scsl
|
10
Commander.h
10
Commander.h
|
@ -19,10 +19,10 @@
|
|||
#include <vector>
|
||||
|
||||
|
||||
#ifndef KLIB_COMMANDER_H
|
||||
#define KLIB_COMMANDER_H
|
||||
#ifndef SCSL_COMMANDER_H
|
||||
#define SCSL_COMMANDER_H
|
||||
|
||||
namespace klib {
|
||||
namespace scsl {
|
||||
|
||||
|
||||
/// CommanderFunc describes a function that can be run in Commander.
|
||||
|
@ -104,7 +104,7 @@ private:
|
|||
std::map<std::string, Subcommand *> cmap;
|
||||
};
|
||||
|
||||
} // klib
|
||||
} // scsl
|
||||
|
||||
|
||||
#endif //KLIB_COMMANDER_H
|
||||
#endif //SCSL_COMMANDER_H
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
#include <cstdlib>
|
||||
#include "Dictionary.h"
|
||||
|
||||
#if defined(KLIB_DESKTOP_BUILD)
|
||||
#if defined(SCSL_DESKTOP_BUILD)
|
||||
#include <iostream>
|
||||
#endif
|
||||
|
||||
|
||||
namespace klib {
|
||||
namespace scsl {
|
||||
|
||||
|
||||
bool
|
||||
|
@ -124,7 +124,7 @@ Dictionary::spaceAvailable(uint8_t klen, uint8_t vlen)
|
|||
required += klen + 2;
|
||||
required += vlen + 2;
|
||||
|
||||
remaining = (uintptr_t)cursor - (uintptr_t)arena.NewCursor();
|
||||
remaining = (uintptr_t)cursor - (uintptr_t) arena.Start();
|
||||
remaining = arena.Size() - remaining;
|
||||
return ((size_t)remaining >= required);
|
||||
}
|
||||
|
@ -133,8 +133,8 @@ Dictionary::spaceAvailable(uint8_t klen, uint8_t vlen)
|
|||
std::ostream &
|
||||
operator<<(std::ostream &os, const Dictionary &dictionary)
|
||||
{
|
||||
#if defined(KLIB_DESKTOP_BUILD)
|
||||
uint8_t *cursor = (dictionary.arena).NewCursor();
|
||||
#if defined(SCSL_DESKTOP_BUILD)
|
||||
uint8_t *cursor = (dictionary.arena).Start();
|
||||
TLV::Record rec;
|
||||
|
||||
TLV::ReadFromMemory(rec, cursor);
|
||||
|
@ -164,4 +164,4 @@ Dictionary::DumpToFile(const char *path)
|
|||
}
|
||||
|
||||
|
||||
} // namespace klib
|
||||
} // namespace scsl
|
10
Dictionary.h
10
Dictionary.h
|
@ -1,12 +1,12 @@
|
|||
///
|
||||
/// \file klib.h
|
||||
/// \file scsl.h
|
||||
/// \author kyle
|
||||
/// \date 2023-10-06
|
||||
///
|
||||
|
||||
|
||||
#ifndef KLIB_DICTIONARY_H
|
||||
#define KLIB_DICTIONARY_H
|
||||
#ifndef SCSL_DICTIONARY_H
|
||||
#define SCSL_DICTIONARY_H
|
||||
|
||||
|
||||
#include "Arena.h"
|
||||
|
@ -17,7 +17,7 @@ static constexpr uint8_t DICTIONARY_TAG_KEY = 1;
|
|||
static constexpr uint8_t DICTIONARY_TAG_VAL = 2;
|
||||
|
||||
|
||||
namespace klib {
|
||||
namespace scsl {
|
||||
|
||||
|
||||
/*
|
||||
|
@ -124,6 +124,6 @@ private:
|
|||
};
|
||||
|
||||
|
||||
} // namespace klib
|
||||
} // namespace scsl
|
||||
|
||||
#endif
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
#include "Exceptions.h"
|
||||
|
||||
|
||||
namespace klib {
|
||||
namespace scsl {
|
||||
|
||||
|
||||
AssertionFailed::AssertionFailed(std::string message) : msg(message)
|
||||
|
|
10
Exceptions.h
10
Exceptions.h
|
@ -2,14 +2,14 @@
|
|||
// Created by kyle on 2023-10-10.
|
||||
//
|
||||
|
||||
#ifndef KLIB_EXCEPTIONS_H
|
||||
#define KLIB_EXCEPTIONS_H
|
||||
#ifndef SCSL_EXCEPTIONS_H
|
||||
#define SCSL_EXCEPTIONS_H
|
||||
|
||||
|
||||
#include <exception>
|
||||
#include <string>
|
||||
|
||||
namespace klib {
|
||||
namespace scsl {
|
||||
|
||||
|
||||
/// NotImplemented is an exception reserved for unsupported platforms.
|
||||
|
@ -45,7 +45,7 @@ private:
|
|||
};
|
||||
|
||||
|
||||
} // namespace klib
|
||||
} // namespace scsl
|
||||
|
||||
|
||||
#endif //KLIB_EXCEPTIONS_H
|
||||
#endif //SCSL_EXCEPTIONS_H
|
||||
|
|
2
Makefile
2
Makefile
|
@ -5,7 +5,7 @@ SOURCES := $(wildcard *.cc)
|
|||
OBJS := Arena.o Dictionary.o TLV.o
|
||||
|
||||
CXX := clang++
|
||||
CXXFLAGS := -g -std=c++14 -Werror -Wall -DKLIB_DESKTOP_BUILD
|
||||
CXXFLAGS := -g -std=c++14 -Werror -Wall -DSCSL_DESKTOP_BUILD
|
||||
|
||||
.PHONY: all
|
||||
all: $(TARGET) $(TESTS) tags run-tests
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include "StringUtil.h"
|
||||
|
||||
|
||||
namespace klib {
|
||||
namespace scsl {
|
||||
/// namespace U contains utilities.
|
||||
namespace U {
|
||||
|
||||
|
@ -162,4 +162,4 @@ VectorToString(const std::vector<std::string> &svec)
|
|||
|
||||
} // namespace S
|
||||
} // namespace U
|
||||
} // namespace klib
|
||||
} // namespace scsl
|
||||
|
|
20
StringUtil.h
20
StringUtil.h
|
@ -31,9 +31,9 @@
|
|||
#define STRINGUTIL_H
|
||||
|
||||
|
||||
namespace klib {
|
||||
/// namespace U contains utilities.
|
||||
namespace scsl {
|
||||
|
||||
/// namespace U contains utilities.
|
||||
namespace U {
|
||||
|
||||
/// namespace S contains string-related functions.
|
||||
|
@ -83,21 +83,25 @@ std::vector<std::string> SplitKeyValuePair(std::string line, std::string delimit
|
|||
/// \return The key and value.
|
||||
std::vector<std::string> SplitKeyValuePair(std::string line, char delimiter);
|
||||
|
||||
|
||||
std::vector<std::string> Split(std::string, std::string delimiter);
|
||||
std::vector<std::string> Split(std::string, char delimiter);
|
||||
|
||||
/// Split a string into parts based on the delimiter.
|
||||
///
|
||||
/// \param delimiter The string that delimits the parts of the string.
|
||||
/// \param maxCount The maximum number of parts to split. If 0, there is no limit
|
||||
/// to the number of parts.
|
||||
/// \return A vector containing all the parts of the string.
|
||||
std::vector<std::string> SplitN(std::string, std::string delimiter, size_t maxCount=0);
|
||||
|
||||
//std::vector<std::string> SplitN(std::string, char delimiter, size_t size_t maxCount=0);
|
||||
|
||||
|
||||
/// Return a string represention of a string vector in the form [size]{"foo", "bar", ...}.
|
||||
std::ostream &VectorToString(std::ostream &os, const std::vector<std::string> &svec);
|
||||
std::string VectorToString(const std::vector<std::string> &svec);
|
||||
std::string VectorToString(const std::vector<std::string> &svec);
|
||||
|
||||
|
||||
} // namespace S
|
||||
} // namespace U
|
||||
} // namespace klib
|
||||
} // namespace scsl
|
||||
|
||||
|
||||
#endif // STRINGUTIL_H
|
||||
|
|
10
TLV.cc
10
TLV.cc
|
@ -1,13 +1,13 @@
|
|||
#include <cstring>
|
||||
#include "TLV.h"
|
||||
|
||||
using namespace klib;
|
||||
using namespace scsl;
|
||||
|
||||
|
||||
#define REC_SIZE(x) ((std::size_t)x.Len + 2)
|
||||
|
||||
|
||||
namespace klib {
|
||||
namespace scsl {
|
||||
namespace TLV {
|
||||
|
||||
|
||||
|
@ -103,7 +103,7 @@ LocateTag(Arena &arena, uint8_t *cursor, Record &rec)
|
|||
uint8_t tag, len;
|
||||
|
||||
if (cursor == nullptr) {
|
||||
cursor = arena.NewCursor();
|
||||
cursor = arena.Start();
|
||||
}
|
||||
|
||||
while ((tag = cursor[0]) != rec.Tag) {
|
||||
|
@ -155,7 +155,7 @@ DeleteRecord(Arena &arena, uint8_t *cursor)
|
|||
}
|
||||
|
||||
uint8_t len = cursor[1] + 2;
|
||||
uint8_t *stop = arena.NewCursor() + arena.Size();
|
||||
uint8_t *stop = arena.Start() + arena.Size();
|
||||
|
||||
stop -= len;
|
||||
|
||||
|
@ -173,4 +173,4 @@ DeleteRecord(Arena &arena, uint8_t *cursor)
|
|||
|
||||
|
||||
} // namespace TLV
|
||||
} // namespace klib
|
||||
} // namespace scsl
|
4
TLV.h
4
TLV.h
|
@ -20,7 +20,7 @@
|
|||
#include "Arena.h"
|
||||
|
||||
|
||||
namespace klib {
|
||||
namespace scsl {
|
||||
namespace TLV {
|
||||
|
||||
#ifndef TLV_MAX_LEN
|
||||
|
@ -123,7 +123,7 @@ uint8_t *SkipRecord(Record &rec, uint8_t *cursor);
|
|||
|
||||
|
||||
} // namespace TLV
|
||||
} // namespace klib
|
||||
} // namespace scsl
|
||||
|
||||
|
||||
#endif
|
||||
|
|
8
Test.cc
8
Test.cc
|
@ -10,12 +10,12 @@
|
|||
#include <sstream>
|
||||
|
||||
|
||||
namespace klib {
|
||||
namespace scsl {
|
||||
|
||||
void
|
||||
TestAssert(bool condition, std::string message)
|
||||
{
|
||||
#if defined(NDEBUG) || defined(KLIB_NO_ASSERT)
|
||||
#if defined(NDEBUG) || defined(SCSL_NO_ASSERT)
|
||||
if (!condition) {
|
||||
throw AssertionFailed(message);
|
||||
}
|
||||
|
@ -35,7 +35,7 @@ TestAssert(bool condition)
|
|||
if (condition) {
|
||||
return;
|
||||
}
|
||||
#if defined(KLIB_NO_ASSERT)
|
||||
#if defined(SCSL_NO_ASSERT)
|
||||
std::cerr << "Assertion failed!\n";
|
||||
#else
|
||||
std::stringstream msg;
|
||||
|
@ -49,4 +49,4 @@ TestAssert(bool condition)
|
|||
}
|
||||
|
||||
|
||||
} // namespace klib
|
||||
} // namespace scsl
|
||||
|
|
12
Test.h
12
Test.h
|
@ -4,13 +4,13 @@
|
|||
/// \date 2023-10-09
|
||||
/// \brief Test.h implements basic testing tools.
|
||||
///
|
||||
#ifndef KLIB_TEST_H
|
||||
#define KLIB_TEST_H
|
||||
#ifndef SCSL_TEST_H
|
||||
#define SCSL_TEST_H
|
||||
|
||||
#include <string>
|
||||
|
||||
|
||||
namespace klib {
|
||||
namespace scsl {
|
||||
|
||||
|
||||
/// TestAssert is a variant on the assert macro. This variant is intended to be
|
||||
|
@ -29,7 +29,7 @@ void TestAssert(bool condition);
|
|||
/// If NDEBUG is set, TestAssert will throw an exception if condition is false.
|
||||
/// Otherwise, it calls assert after printing the message.
|
||||
///
|
||||
/// In addition to NDEBUG, KLIB_NO_ASSERT will suppress assertions.
|
||||
/// In addition to NDEBUG, SCSL_NO_ASSERT will suppress assertions.
|
||||
///
|
||||
/// \throws AssertionFailed
|
||||
///
|
||||
|
@ -38,6 +38,6 @@ void TestAssert(bool condition);
|
|||
void TestAssert(bool condition, std::string message);
|
||||
|
||||
|
||||
} // namespace klib
|
||||
} // namespace scsl
|
||||
|
||||
#endif //KLIB_TEST_H
|
||||
#endif //SCSL_TEST_H
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
#include "WinHelpers.h"
|
||||
|
||||
|
||||
namespace klib {
|
||||
namespace scsl {
|
||||
namespace Windows {
|
||||
|
||||
|
||||
|
@ -136,7 +136,7 @@ CreateFixedSizeFile(const char *path, size_t size)
|
|||
|
||||
|
||||
} // namespace Windows
|
||||
} // namespace klib
|
||||
} // namespace scsl
|
||||
|
||||
|
||||
#endif
|
10
WinHelpers.h
10
WinHelpers.h
|
@ -2,8 +2,8 @@
|
|||
// Created by kyle on 2023-10-10.
|
||||
//
|
||||
|
||||
#ifndef KLIB_WINHELPERS_H
|
||||
#define KLIB_WINHELPERS_H
|
||||
#ifndef SCSL_WINHELPERS_H
|
||||
#define SCSL_WINHELPERS_H
|
||||
|
||||
#if defined(__WIN64__) || defined(__WIN32__) || defined(WIN32)
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
|||
#include <fileapi.h>
|
||||
#include <strsafe.h>
|
||||
|
||||
namespace klib {
|
||||
namespace scsl {
|
||||
namespace Windows {
|
||||
|
||||
|
||||
|
@ -32,8 +32,8 @@ int CreateFixedSizeFile(const char *path, size_t size);
|
|||
|
||||
|
||||
} // namespace Windows
|
||||
} // namespace klib
|
||||
} // namespace scsl
|
||||
|
||||
#endif // Windows-only guards.
|
||||
|
||||
#endif //KLIB_WINHELPERS_H
|
||||
#endif //SCSL_WINHELPERS_H
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#include <iostream>
|
||||
|
||||
#include "Buffer.h"
|
||||
using namespace klib;
|
||||
using namespace scsl;
|
||||
|
||||
|
||||
int
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#include "testFixtures.h"
|
||||
|
||||
|
||||
using namespace klib;
|
||||
using namespace scsl;
|
||||
|
||||
|
||||
constexpr char TEST_KVSTR1[] = "foo";
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
set(KLIB_INCLUDE_DIRS include/klib)
|
||||
set(KLIB_LIBRARIES libklib.a)
|
|
@ -9,7 +9,7 @@ using namespace std;
|
|||
#include "Arena.h"
|
||||
#include "Commander.h"
|
||||
#include "Dictionary.h"
|
||||
using namespace klib;
|
||||
using namespace scsl;
|
||||
|
||||
static const char *defaultPhonebook = "pb.dat";
|
||||
static char *pbFile = (char *)defaultPhonebook;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
///
|
||||
/// \file klib.h
|
||||
/// \file scsl.h
|
||||
/// \author kyle
|
||||
/// \created 2023-10-10
|
||||
/// \brief klib is my collection of C++ data structures and code.
|
||||
/// \brief scsl is my collection of C++ data structures and code.
|
||||
///
|
||||
/// \section COPYRIGHT
|
||||
/// Copyright 2023 K. Isom <kyle@imap.cc>
|
||||
|
@ -21,8 +21,8 @@
|
|||
/// SOFTWARE.
|
||||
///
|
||||
|
||||
#ifndef KLIB_KLIB_H
|
||||
#define KLIB_KLIB_H
|
||||
#ifndef SCSL_SCSL_H
|
||||
#define SCSL_SCSL_H
|
||||
|
||||
|
||||
#include <klib/Arena.h>
|
||||
|
@ -33,10 +33,10 @@
|
|||
#include <klib/Test.h>
|
||||
|
||||
|
||||
/// klib is the top-level namespace containing all the code in this library.
|
||||
namespace klib {
|
||||
/// scsl is the top-level namespace containing all the code in this library.
|
||||
namespace scsl {
|
||||
|
||||
/// \mainpage klib documentation
|
||||
/// \mainpage scsl documentation
|
||||
///
|
||||
/// \section Introduction
|
||||
///
|
||||
|
@ -71,4 +71,4 @@ namespace klib {
|
|||
}
|
||||
|
||||
|
||||
#endif // KLIB_KLIB_H
|
||||
#endif // SCSL_SCSL_H
|
|
@ -0,0 +1,2 @@
|
|||
set(SCSL_INCLUDE_DIRS include/scsl)
|
||||
set(SCSL_LIBRARIES libscsl.a)
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
#include "StringUtil.h"
|
||||
#include "Test.h"
|
||||
using namespace klib;
|
||||
using namespace scsl;
|
||||
|
||||
|
||||
static void
|
||||
|
@ -114,4 +114,6 @@ main()
|
|||
std::vector<std::string>{"abc", "def:ghij:klm"});
|
||||
TestSplit("abc:def:ghij:klm", ":", 1,
|
||||
std::vector<std::string>{"abc:def:ghij:klm"});
|
||||
TestSplit("abc::def:ghi", ":", 0,
|
||||
std::vector<std::string>{"abc", "", "def", "ghi"});
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef KLIB_TESTFIXTURES_H
|
||||
#define KLIB_TESTFIXTURES_H
|
||||
#ifndef SCSL_TESTFIXTURES_H
|
||||
#define SCSL_TESTFIXTURES_H
|
||||
|
||||
|
||||
#include <string.h>
|
||||
|
@ -22,7 +22,7 @@
|
|||
#define TEST_STRLEN4 35
|
||||
|
||||
|
||||
namespace klib {
|
||||
namespace scsl {
|
||||
|
||||
|
||||
static bool
|
||||
|
@ -44,7 +44,7 @@ cmpRecord(TLV::Record &a, TLV::Record &b)
|
|||
}
|
||||
|
||||
|
||||
} // namespace klib
|
||||
} // namespace scsl
|
||||
|
||||
|
||||
#endif // KLIB_TESTFIXTURES_H
|
||||
#endif // SCSL_TESTFIXTURES_H
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
#include "testFixtures.h"
|
||||
|
||||
using namespace klib;
|
||||
using namespace scsl;
|
||||
|
||||
|
||||
static uint8_t arenaBuffer[ARENA_SIZE];
|
||||
|
@ -40,7 +40,7 @@ tlvTestSuite(Arena &backend)
|
|||
std::cout << "\tFindTag 1" << "\n";
|
||||
cursor = TLV::FindTag(backend, cursor, rec4);
|
||||
assert(cursor != nullptr);
|
||||
assert(cursor != backend.NewCursor());
|
||||
assert(cursor != backend.Start());
|
||||
assert(cmpRecord(rec1, rec4));
|
||||
|
||||
std::cout << "\tFindTag 2" << "\n";
|
||||
|
|
Loading…
Reference in New Issue