Sha256: 0fce9d6842826ec028dd0711e8a111211b5adae57e23ce0a7cdb55abd5043cdd

Contents?: true

Size: 915 Bytes

Versions: 16

Compression:

Stored size: 915 Bytes

Contents

#include <internal/path_builder.hpp>

using namespace std;

namespace hocon {

    void path_builder::append_key(string key) {
        _keys.push(key);
    }

    void path_builder::append_path(path path_to_append) {
        if (!path_to_append.first()) {
            return;
        }
        string first = *path_to_append.first();
        path remainder = path_to_append;
        while (true) {
            _keys.push(first);
            if (remainder.has_remainder()) {
                remainder = remainder.remainder();
                first = *remainder.first();
            } else {
                break;
            }
        }
    }

    path path_builder::result() {
        path remainder;
        while (!_keys.empty()) {
            string key = _keys.top();
            _keys.pop();
            remainder = path(key, move(remainder));
        }
        return remainder;
    }

}  // namesapce hocon

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
facter-3.12.2.cfacter.20181217 ext/facter/cpp-hocon/lib/src/path_builder.cc
facter-3.12.1.cfacter.20181031 ext/facter/cpp-hocon/lib/src/path_builder.cc
facter-3.11.6.cfacter.20181031 ext/facter/cpp-hocon/lib/src/path_builder.cc
facter-3.12.1.cfacter.20181023 ext/facter/cpp-hocon/lib/src/path_builder.cc
facter-3.11.5.cfacter.20181022 ext/facter/cpp-hocon/lib/src/path_builder.cc
facter-3.12.0.cfacter.20181004 ext/facter/cpp-hocon/lib/src/path_builder.cc
facter-3.12.0.cfacter.20181001 ext/facter/cpp-hocon/lib/src/path_builder.cc
facter-3.12.0.cfacter.20180918 ext/facter/cpp-hocon/lib/src/path_builder.cc
facter-3.11.4.cfacter.20180821 ext/facter/cpp-hocon/lib/src/path_builder.cc
facter-3.11.3.cfacter.20180716 ext/facter/cpp-hocon/lib/src/path_builder.cc
facter-3.11.2.cfacter.20180612 ext/facter/cpp-hocon/lib/src/path_builder.cc
facter-3.9.6.cfacter.20180612 ext/facter/cpp-hocon/lib/src/path_builder.cc
facter-3.11.2.cfacter.20180606 ext/facter/cpp-hocon/lib/src/path_builder.cc
facter-3.9.6.cfacter.20180606 ext/facter/cpp-hocon/lib/src/path_builder.cc
facter-3.11.0.cfacter.20180319 ext/facter/cpp-hocon/lib/src/path_builder.cc
cfacter-3.11.0.rc.20180314 ext/facter/cpp-hocon/lib/src/path_builder.cc