资源简介
cppjson源码,vs2017版本,里面含有旧版本的代码,
代码片段和文件信息
“““Amalgamate json-cpp library sources into a single source and header file.
Works with python2.6+ and python3.4+.
Example of invocation (must be invoked from json-cpp top directory):
python amalgamate.py
“““
import os
import os.path
import sys
class AmalgamationFile:
def __init__(self top_dir):
self.top_dir = top_dir
self.blocks = []
def add_text(self text):
if not text.endswith(“\n“):
text += “\n“
self.blocks.append(text)
def add_file(self relative_input_path wrap_in_comment=False):
def add_marker(prefix):
self.add_text(““)
self.add_text(“// “ + “/“*70)
self.add_text(“// %s of content of file: %s“ % (prefix relative_input_path.replace(“\\““/“)))
self.add_text(“// “ + “/“*70)
self.add_text(““)
add_marker(“Beginning“)
f = open(os.path.join(self.top_dir relative_input_path) “rt“)
content = f.read()
if wrap_in_comment:
content = “/*\n“ + content + “\n*/“
self.add_text(content)
f.close()
add_marker(“End“)
self.add_text(“\n\n\n\n“)
def get_value(self):
return ““.join(self.blocks).replace(“\r\n““\n“)
def write_to(self output_path):
output_dir = os.path.dirname(output_path)
if output_dir and not os.path.isdir(output_dir):
os.makedirs(output_dir)
f = open(output_path “wb“)
f.write(str.encode(self.get_value() ‘UTF-8‘))
f.close()
def amalgamate_source(source_top_dir=None
target_source_path=None
header_include_path=None):
“““Produces amalgamated source.
Parameters:
source_top_dir: top-directory
target_source_path: output .cpp path
header_include_path: generated header path relative to target_source_path.
“““
print(“Amalgamating header...“)
header = AmalgamationFile(source_top_dir)
header.add_text(“/// Json-cpp amalgamated header (http://jsoncpp.sourceforge.net/).“)
header.add_text(‘/// It is intended to be used with #include “%s“‘ % header_include_path)
header.add_file(“LICENSE“ wrap_in_comment=True)
header.add_text(“#ifndef JSON_AMALGAMATED_H_INCLUDED“)
header.add_text(“# define JSON_AMALGAMATED_H_INCLUDED“)
header.add_text(“/// If defined indicates that the source file is amalgamated“)
header.add_text(“/// to prevent private header inclusion.“)
header.add_text(“#define JSON_IS_AMALGAMATION“)
header.add_file(“include/json/version.h“)
#header.add_file(“include/json/allocator.h“) # Not available here.
header.add_file(“include/json/config.h“)
header.add_file(“include/json/forwards.h“)
header.add_file(“include/json/features.h“)
header.add_file(“include/json/value.h“)
header.add_file(“include/json/reader.h“)
header.add_file(“include/json/writer.h“)
header.add_file(“include/json/assertions.h“)
header.add
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1396 2019-01-15 13:12 .clang-format
文件 221 2019-01-15 13:12 .gitattributes
文件 708 2019-01-15 13:12 .gitignore
文件 2265 2019-01-15 13:12 .travis.yml
目录 0 2019-01-15 13:12 .travis_sc
文件 4106 2019-01-15 13:12 .travis_sc
文件 2425 2019-01-15 13:12 .travis_sc
文件 215 2019-01-15 13:12 .travis_sc
文件 67 2019-01-15 13:12 .travis_sc
文件 251 2019-01-15 13:12 .travis_sc
文件 81 2019-01-15 13:12 .travis_sc
文件 6855 2019-01-15 13:12 amalgamate.py
文件 1127 2019-01-15 13:12 appveyor.yml
文件 4032 2019-01-15 13:12 AUTHORS
目录 0 2019-05-22 10:21 build\
目录 0 2019-05-22 10:21 build\vs71\
目录 0 2019-05-22 10:27 build\vs71\release\
文件 257 2015-09-29 02:36 clear.bat
文件 7063 2019-01-15 13:12 CMakeLists.txt
文件 533 2019-01-15 13:12 CTestConfig.cmake
文件 1072 2019-01-15 13:12 dev.makefile
目录 0 2019-01-15 13:12 devtools\
文件 898 2019-01-15 13:12 devtools\agent_vmw7.json
文件 589 2019-01-15 13:12 devtools\agent_vmxp.json
文件 7908 2019-01-15 13:12 devtools\antglob.py
文件 11483 2019-01-15 13:12 devtools\batchbuild.py
文件 2226 2019-01-15 13:12 devtools\fixeol.py
文件 3964 2019-01-15 13:12 devtools\licenseupdater.py
文件 2234 2019-01-15 13:12 devtools\tarball.py
文件 250 2019-01-15 13:12 devtools\__init__.py
目录 0 2019-01-15 13:12 doc\
............此处省略227个文件信息
评论
共有 条评论