cppfig 0.1.0
Modern C++20 compile-time type-safe configuration library
Loading...
Searching...
No Matches
diff.h File Reference
#include <cstdint>
#include <sstream>
#include <string>
#include <vector>
#include "cppfig/value.h"
Include dependency graph for diff.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  cppfig::DiffEntry
 Represents a single difference between two configurations. More...
 
class  cppfig::ConfigDiff
 Result of comparing two configurations. More...
 

Namespaces

namespace  cppfig
 C++20 compile-time type-safe configuration library.
 
namespace  cppfig::detail
 

Enumerations

enum class  cppfig::DiffType : std::uint8_t { cppfig::Added , cppfig::Removed , cppfig::Modified }
 Type of change detected in a diff. More...
 

Functions

void cppfig::detail::CompareValueRecursive (const Value &base, const Value &target, const std::string &prefix, ConfigDiff &diff)
 Recursively compares two Value objects and collects differences.
 
auto cppfig::DiffValues (const Value &base, const Value &target) -> ConfigDiff
 Compares two Value configurations and returns the differences.
 
auto cppfig::DiffFileFromDefaults (const Value &defaults, const Value &file_values) -> ConfigDiff
 Compares file configuration against defaults.
 
auto cppfig::DiffDefaultsFromFile (const Value &defaults, const Value &file_values) -> ConfigDiff
 Compares defaults against file configuration.