Skip to content

Commit aba33f7

Browse files
Add simple function to encapsulate use of json and magic_enum TPLs (#294)
1 parent 8c167ad commit aba33f7

File tree

14 files changed

+64
-39
lines changed

14 files changed

+64
-39
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
- Added more context information to JSON parser errors.
3131
- Added `Logger` class.
3232
- Added `CliOptions` for simple command-line parsing.
33+
- Added public function to encapsulate use of nlohmann/json and magic_enum from users.
3334

3435
## v0.1
3536

examples/PhasorDynamics/Tiny/ThreeBus/Basic/CMakeLists.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,6 @@ add_executable(ThreeBusBasicJson ThreeBusBasicJson.cpp)
1010
target_link_libraries(ThreeBusBasicJson
1111
GRIDKIT::phasor_dynamics_components
1212
GRIDKIT::solvers_dyn)
13-
target_include_directories(ThreeBusBasicJson
14-
PRIVATE ${CMAKE_SOURCE_DIR}/third-party/nlohmann-json/include)
15-
target_include_directories(ThreeBusBasicJson
16-
PRIVATE ${CMAKE_SOURCE_DIR}/third-party/magic-enum/include)
1713
install(TARGETS ThreeBusBasicJson RUNTIME DESTINATION ${_install_path})
1814
gridkit_example_add_file(ThreeBusBasic.json)
1915

examples/PhasorDynamics/Tiny/ThreeBus/Basic/ThreeBusBasicJson.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,8 @@
1717
#include <Model/PhasorDynamics/ComponentLibrary.hpp>
1818
#include <Model/PhasorDynamics/SystemModel.hpp>
1919
#include <Model/PhasorDynamics/SystemModelData.hpp>
20-
#include <Model/PhasorDynamics/SystemModelDataJSONParser.hpp>
2120
#include <Solver/Dynamic/Ida.hpp>
2221
#include <Utilities/Testing.hpp>
23-
#include <nlohmann/json.hpp>
2422

2523
using scalar_type = double;
2624
using real_type = double;
@@ -117,7 +115,7 @@ int main(int argc, const char* argv[])
117115
// Create model data
118116
//
119117

120-
SystemModelData<scalar_type, index_type> data(json::parse(std::ifstream(input_file)));
118+
auto data = parseSystemModelData(input_file);
121119

122120
//
123121
// Instantiate system

examples/PhasorDynamics/Tiny/ThreeBus/Classical/CMakeLists.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,6 @@ add_executable(ThreeBusClassicalJson ThreeBusClassicalJson.cpp)
1515
target_link_libraries(ThreeBusClassicalJson
1616
GRIDKIT::phasor_dynamics_components
1717
GRIDKIT::solvers_dyn)
18-
target_include_directories(ThreeBusClassicalJson
19-
PRIVATE ${CMAKE_SOURCE_DIR}/third-party/nlohmann-json/include)
20-
target_include_directories(ThreeBusClassicalJson
21-
PRIVATE ${CMAKE_SOURCE_DIR}/third-party/magic-enum/include)
2218
install(TARGETS ThreeBusClassicalJson RUNTIME DESTINATION ${_install_path})
2319
gridkit_example_add_file(ThreeBusClassical.json)
2420

examples/PhasorDynamics/Tiny/ThreeBus/Classical/ThreeBusClassicalJson.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,8 @@
1717
#include <Model/PhasorDynamics/ComponentLibrary.hpp>
1818
#include <Model/PhasorDynamics/SystemModel.hpp>
1919
#include <Model/PhasorDynamics/SystemModelData.hpp>
20-
#include <Model/PhasorDynamics/SystemModelDataJSONParser.hpp>
2120
#include <Solver/Dynamic/Ida.hpp>
2221
#include <Utilities/Testing.hpp>
23-
#include <nlohmann/json.hpp>
2422

2523
using scalar_type = double;
2624
using real_type = double;
@@ -117,7 +115,7 @@ int main(int argc, const char* argv[])
117115
// Create model data
118116
//
119117

120-
SystemModelData<scalar_type, index_type> data(json::parse(std::ifstream(input_file)));
118+
auto data = parseSystemModelData(input_file);
121119

122120
//
123121
// Instantiate system

examples/PhasorDynamics/Tiny/TwoBus/Basic/CMakeLists.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,6 @@ add_executable(TwoBusBasicJson TwoBusBasicJson.cpp)
1010
target_link_libraries(TwoBusBasicJson
1111
GRIDKIT::phasor_dynamics_components
1212
GRIDKIT::solvers_dyn)
13-
target_include_directories(TwoBusBasicJson
14-
PRIVATE ${CMAKE_SOURCE_DIR}/third-party/nlohmann-json/include)
15-
target_include_directories(TwoBusBasicJson
16-
PRIVATE ${CMAKE_SOURCE_DIR}/third-party/magic-enum/include)
1713
install(TARGETS TwoBusBasicJson RUNTIME DESTINATION ${_install_path})
1814
gridkit_example_add_file(TwoBusBasic.json)
1915

examples/PhasorDynamics/Tiny/TwoBus/Basic/TwoBusBasicJson.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,8 @@
1616
#include <Model/PhasorDynamics/ComponentLibrary.hpp>
1717
#include <Model/PhasorDynamics/SystemModel.hpp>
1818
#include <Model/PhasorDynamics/SystemModelData.hpp>
19-
#include <Model/PhasorDynamics/SystemModelDataJSONParser.hpp>
2019
#include <Solver/Dynamic/Ida.hpp>
2120
#include <Utilities/Testing.hpp>
22-
#include <nlohmann/json.hpp>
2321

2422
int main(int argc, const char* argv[])
2523
{
@@ -70,7 +68,7 @@ int main(int argc, const char* argv[])
7068
// Create model data
7169
//
7270

73-
SystemModelData<scalar_type, index_type> data(json::parse(std::ifstream(input_file)));
71+
auto data = parseSystemModelData(input_file);
7472

7573
//
7674
// Instantiate system model

examples/PhasorDynamics/Tiny/TwoBus/Ieeet1/CMakeLists.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,6 @@ target_link_libraries(TwoBusIeeet1Json
1212
GRIDKIT::phasor_dynamics_components
1313
GRIDKIT::phasor_dynamics_signal
1414
GRIDKIT::solvers_dyn)
15-
target_include_directories(TwoBusIeeet1Json
16-
PRIVATE ${CMAKE_SOURCE_DIR}/third-party/nlohmann-json/include)
17-
target_include_directories(TwoBusIeeet1Json
18-
PRIVATE ${CMAKE_SOURCE_DIR}/third-party/magic-enum/include)
1915
install(TARGETS TwoBusIeeet1Json RUNTIME DESTINATION ${_install_path})
2016
gridkit_example_add_file(TwoBusIeeet1.json)
2117

examples/PhasorDynamics/Tiny/TwoBus/Ieeet1/TwoBusIeeet1Json.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,8 @@
1313
#include <Model/PhasorDynamics/ComponentLibrary.hpp>
1414
#include <Model/PhasorDynamics/SystemModel.hpp>
1515
#include <Model/PhasorDynamics/SystemModelData.hpp>
16-
#include <Model/PhasorDynamics/SystemModelDataJSONParser.hpp>
1716
#include <Solver/Dynamic/Ida.hpp>
1817
#include <Utilities/Testing.hpp>
19-
#include <nlohmann/json.hpp>
2018

2119
int main(int argc, const char* argv[])
2220
{
@@ -69,7 +67,7 @@ int main(int argc, const char* argv[])
6967
// Create model data
7068
//
7169

72-
SystemModelData<scalar_type, index_type> data = json::parse(std::ifstream(input_file));
70+
auto data = parseSystemModelData(input_file);
7371

7472
//
7573
// Instantiate and configure the system model

examples/PhasorDynamics/Tiny/TwoBus/Tgov1/CMakeLists.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,6 @@ target_link_libraries(TwoBusTgov1Json
1212
GRIDKIT::phasor_dynamics_components
1313
GRIDKIT::phasor_dynamics_signal
1414
GRIDKIT::solvers_dyn)
15-
target_include_directories(TwoBusTgov1Json
16-
PRIVATE ${CMAKE_SOURCE_DIR}/third-party/nlohmann-json/include)
17-
target_include_directories(TwoBusTgov1Json
18-
PRIVATE ${CMAKE_SOURCE_DIR}/third-party/magic-enum/include)
1915
install(TARGETS TwoBusTgov1Json RUNTIME DESTINATION ${_install_path})
2016
gridkit_example_add_file(TwoBusTgov1.json)
2117

0 commit comments

Comments
 (0)