cppcodec/0.2

Header-only C++11 library to encode/decode base64, base64url, base32, base32hex and hex (a.k.a. base16) as specified in RFC 4648, plus Crockford's base32
Recipe info
2023-11-28

Available packages
Header Only

Install
Add the following line to your conanfile.txt:
[requires]
cppcodec/0.2

Using cppcodec

Note

If you are new with Conan, we recommend to read the section how to consume packages.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
cppcodec/0.2
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("cppcodec/0.2")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): cppcodec
  • CMake target name(s): cppcodec::cppcodec
  • pkg-config file name(s): cppcodec-1.pc

A simple use case using the CMake file name and the global target:

# ...
find_package(cppcodec REQUIRED)
# ...
target_link_libraries(YOUR_TARGET cppcodec::cppcodec)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the cppcodec homepage listed above:

#include "cppcodec/base32_crockford.hpp"
#include "cppcodec/base32_default_crockford.hpp"
#include "cppcodec/base32_default_hex.hpp"
#include "cppcodec/base32_default_rfc4648.hpp"
#include "cppcodec/base32_hex.hpp"
#include "cppcodec/base32_rfc4648.hpp"
#include "cppcodec/base64_default_rfc4648.hpp"
#include "cppcodec/base64_default_url.hpp"
#include "cppcodec/base64_default_url_unpadded.hpp"
#include "cppcodec/base64_rfc4648.hpp"
#include "cppcodec/base64_url.hpp"
#include "cppcodec/base64_url_unpadded.hpp"
#include "cppcodec/data/access.hpp"
#include "cppcodec/data/raw_result_buffer.hpp"
#include "cppcodec/detail/base32.hpp"
#include "cppcodec/detail/base64.hpp"
#include "cppcodec/detail/codec.hpp"
#include "cppcodec/detail/config.hpp"
#include "cppcodec/detail/hex.hpp"
#include "cppcodec/detail/stream_codec.hpp"
#include "cppcodec/hex_default_lower.hpp"
#include "cppcodec/hex_default_upper.hpp"
#include "cppcodec/hex_lower.hpp"
#include "cppcodec/hex_upper.hpp"
#include "cppcodec/parse_error.hpp"