开源项目 neither 使用教程
1. 项目的目录结构及介绍
neither
项目的目录结构如下:
neither/
├── CMakeLists.txt
├── README.md
├── include/
│ └── neither/
│ ├── Either.hpp
│ ├── Maybe.hpp
│ ├── Monad.hpp
│ ├── MonadError.hpp
│ ├── Reader.hpp
│ ├── Result.hpp
│ ├── Writer.hpp
│ └── detail/
│ ├── MonadImpl.hpp
│ └── MonadErrorImpl.hpp
├── src/
│ ├── Either.cpp
│ ├── Maybe.cpp
│ ├── Monad.cpp
│ ├── MonadError.cpp
│ ├── Reader.cpp
│ ├── Result.cpp
│ └── Writer.cpp
└── test/
├── EitherTests.cpp
├── MaybeTests.cpp
├── MonadTests.cpp
├── MonadErrorTests.cpp
├── ReaderTests.cpp
├── ResultTests.cpp
└── WriterTests.cpp
目录结构介绍
CMakeLists.txt
: 项目的 CMake 构建文件。README.md
: 项目的说明文档。include/
: 包含项目的头文件。neither/
: 主要的头文件目录。Either.hpp
,Maybe.hpp
,Monad.hpp
,MonadError.hpp
,Reader.hpp
,Result.hpp
,Writer.hpp
: 主要的头文件。detail/
: 包含一些实现细节的头文件。
src/
: 包含项目的源文件。Either.cpp
,Maybe.cpp
,Monad.cpp
,MonadError.cpp
,Reader.cpp
,Result.cpp
,Writer.cpp
: 主要的源文件。
test/
: 包含项目的测试文件。EitherTests.cpp
,MaybeTests.cpp
,MonadTests.cpp
,MonadErrorTests.cpp
,ReaderTests.cpp
,ResultTests.cpp
,WriterTests.cpp
: 主要的测试文件。
2. 项目的启动文件介绍
neither
项目的启动文件是 CMakeLists.txt
。这个文件定义了项目的构建过程,包括源文件的编译、链接以及测试的运行。
CMakeLists.txt 主要内容
cmake_minimum_required(VERSION 3.1)
project(neither)
set(CMAKE_CXX_STANDARD 14)
include_directories(include)
file(GLOB_RECURSE SOURCES "src/*.cpp")
file(GLOB_RECURSE HEADERS "include/*.hpp")
add_library(neither ${SOURCES} ${HEADERS})
add_executable(tests test/main.cpp ${SOURCES})
target_link_libraries(tests neither)
enable_testing()
add_test(NAME tests COMMAND tests)
启动文件介绍
cmake_minimum_required(VERSION 3.1)
: 指定 CMake 的最低版本要求。project(neither)
: 定义项目名称。set(CMAKE_CXX_STANDARD 14)
: 设置 C++ 标准为 C++14。include_directories(include)
: 包含头文件目录。file(GLOB_RECURSE SOURCES "src/*.cpp")
: 获取所有源文件。file(GLOB_RECURSE HEADERS "include/*.hpp")
: 获取所有头文件。add_library(neither ${SOURCES} ${HEADERS})
: 添加库目标。add_executable(tests test/main.cpp ${SOURCES})
: 添加测试可执行文件。target_link_libraries(tests neither)
: 链接库目标。enable_testing()
: 启用测试。add_test(NAME tests COMMAND tests)
: 添加测试命令。
3. 项目的配置文件介绍
neither
项目没有显式的配置文件,所有的配置都是通过 CMake 文件 CMakeLists.txt
来完成的。这个文件定义了项目的构建过程,包括源文件的编译、链接以及测试的运行。
CMakeLists.txt 配置介绍
cmake_minimum_required(VERSION 3.1)
: 指定 CMake 的最低版本要求。- `project(neither