From 8c62eaa99c5e8233c3d0e0489126faf25d8cafc0 Mon Sep 17 00:00:00 2001
From: Dmitri Naumov <github@naumov.de>
Date: Mon, 15 Mar 2021 22:14:42 +0100
Subject: [PATCH] [App/IO] Use std::any in csv I/F replacing boost.

---
 Applications/FileIO/CsvInterface.cpp | 13 ++++++-------
 Applications/FileIO/CsvInterface.h   | 10 ++++------
 2 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/Applications/FileIO/CsvInterface.cpp b/Applications/FileIO/CsvInterface.cpp
index ae2be3afca3..f40eb0ddfea 100644
--- a/Applications/FileIO/CsvInterface.cpp
+++ b/Applications/FileIO/CsvInterface.cpp
@@ -295,15 +295,15 @@ std::size_t CsvInterface::getVectorSize(std::size_t idx) const
 {
     if (_data[idx].type() == typeid(std::vector<std::string>))
     {
-        return boost::any_cast<std::vector<std::string>>(_data[idx]).size();
+        return std::any_cast<std::vector<std::string>>(_data[idx]).size();
     }
     if (_data[idx].type() == typeid(std::vector<double>))
     {
-        return boost::any_cast<std::vector<double>>(_data[idx]).size();
+        return std::any_cast<std::vector<double>>(_data[idx]).size();
     }
     if (_data[idx].type() == typeid(std::vector<int>))
     {
-        return boost::any_cast<std::vector<int>>(_data[idx]).size();
+        return std::any_cast<std::vector<int>>(_data[idx]).size();
     }
     return 0;
 }
@@ -312,17 +312,16 @@ void CsvInterface::writeValue(std::size_t vec_idx, std::size_t in_vec_idx)
 {
     if (_data[vec_idx].type() == typeid(std::vector<std::string>))
     {
-        _out << boost::any_cast<std::vector<std::string>>(
+        _out << std::any_cast<std::vector<std::string>>(
             _data[vec_idx])[in_vec_idx];
     }
     else if (_data[vec_idx].type() == typeid(std::vector<double>))
     {
-        _out << boost::any_cast<std::vector<double>>(
-            _data[vec_idx])[in_vec_idx];
+        _out << std::any_cast<std::vector<double>>(_data[vec_idx])[in_vec_idx];
     }
     else if (_data[vec_idx].type() == typeid(std::vector<int>))
     {
-        _out << boost::any_cast<std::vector<int>>(_data[vec_idx])[in_vec_idx];
+        _out << std::any_cast<std::vector<int>>(_data[vec_idx])[in_vec_idx];
     }
 }
 
diff --git a/Applications/FileIO/CsvInterface.h b/Applications/FileIO/CsvInterface.h
index c38b5b2dfeb..2c6ae056794 100644
--- a/Applications/FileIO/CsvInterface.h
+++ b/Applications/FileIO/CsvInterface.h
@@ -13,9 +13,7 @@
 
 #pragma once
 
-#include <boost/any.hpp>
-#include "BaseLib/Logging.h"
-
+#include <any>
 #include <array>
 #include <fstream>
 #include <iterator>
@@ -25,9 +23,9 @@
 #include <typeinfo>
 #include <vector>
 
-
-#include "BaseLib/StringTools.h"
 #include "BaseLib/IO/Writer.h"
+#include "BaseLib/Logging.h"
+#include "BaseLib/StringTools.h"
 
 namespace GeoLib
 {
@@ -253,7 +251,7 @@ private:
 
     bool _writeCsvHeader{true};
     std::vector<std::string> _vec_names;
-    std::vector<boost::any> _data;
+    std::vector<std::any> _data;
 };
 
 }  // namespace FileIO
-- 
GitLab