diff --git a/.kdev4/szorg5.kdev4 b/.kdev4/szorg5.kdev4 index 12b90f5fdca9c00051454d6bf44e0cdac4d3e539..3afe6eb1a2d8f4e6a44934b45f9b81b79f0b2a53 100644 --- a/.kdev4/szorg5.kdev4 +++ b/.kdev4/szorg5.kdev4 @@ -16,5 +16,26 @@ Name=GCC Path=gcc Type=GCC +[Launch] +Launch Configurations=Launch Configuration 0 + +[Launch][Launch Configuration 0] +Configured Launch Modes=execute +Configured Launchers=nativeAppLauncher +Name=szorg5 +Type=Native Application + +[Launch][Launch Configuration 0][Data] +Arguments= +Dependencies=@Variant(\x00\x00\x00\t\x00\x00\x00\x00\x01\x00\x00\x00\x0b\x00\x00\x00\x00\x02\x00\x00\x00\x0c\x00s\x00z\x00o\x00r\x00g\x005\x00\x00\x00\x0c\x00s\x00z\x00o\x00r\x00g\x005) +Dependency Action=Build +EnvironmentGroup= +Executable=file:///home/junior/projects/szorg5/ +External Terminal=konsole --noclose --workdir %workdir -e %exe +Project Target=szorg5,szorg5 +Use External Terminal=false +Working Directory= +isExecutable=false + [Project] VersionControlSupport=kdevgit diff --git a/CMakeLists.txt b/CMakeLists.txt index 111d81dc5db5a01acab2666afc26a53dabde7308..54c3fae90ab8e8f5ac9758db09ccee4de55fd438 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,5 +2,6 @@ cmake_minimum_required(VERSION 2.6) project(szorg5) add_executable(szorg5 main.cpp) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") install(TARGETS szorg5 RUNTIME DESTINATION bin) diff --git a/main.cpp b/main.cpp index 8bb47f1c1b02c1333b11c040127518de63192315..08977f0d24b2980b85041e2a142f7f69285f8abf 100644 --- a/main.cpp +++ b/main.cpp @@ -1,6 +1,44 @@ #include <iostream> +#include <string> +#include <sstream> -int main(int argc, char **argv) { - std::cout << "Hello, world!" << std::endl; - return 0; +template<class T> +void unpack(std::istringstream& s, T& arg) +{ + s>>arg; +} + +template<class T> +void unpack(std::istringstream&& s, T& arg) +{ + s>>arg; } + +template<class T, class ...V> +void unpack(std::istringstream& s, T& arg , V& ...args) +{ + s>>arg; + unpack(s,args...); +} + +template<class T, class ...V> +void unpack(std::istringstream&& s, T& arg , V& ...args) +{ + s>>arg; + unpack(s,args...); +} + +template<class ...T> +void unpack(std::string s, T& ...args) +{ + unpack(std::istringstream{s},args...); +} + +int main(int argc, char **argv) { + int a; + double b; + std::string c; + unpack("3 4.5 bla", a, b, c); // a = 3; b = 4.5; + std::cout<<a<<":"<<b<<":"<<c; + return 0; +} \ No newline at end of file