Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #pragma once
00024
00025 #include <string>
00026 #include <vector>
00027 #include "cinder/Cinder.h"
00028 #include "cinder/Url.h"
00029 #include "cinder/DataSource.h"
00030 #include <boost/lexical_cast.hpp>
00031
00032 namespace cinder {
00033
00035 fs::path expandPath( const fs::path &path );
00037 fs::path getHomeDirectory();
00039 fs::path getDocumentsDirectory();
00041 fs::path getTemporaryDirectory();
00043 fs::path getTemporaryFilePath( const std::string &prefix = "" );
00045 std::string getPathDirectory( const std::string &path );
00047 std::string getPathFileName( const std::string &path );
00049 std::string getPathExtension( const std::string &path );
00051 bool createDirectories( const fs::path &path, bool createParents = true );
00052
00054 void launchWebBrowser( const Url &url );
00055
00057 void deleteFile( const fs::path &path );
00058
00060 std::vector<std::string> split( const std::string &str, char separator, bool compress = true );
00062 std::vector<std::string> split( const std::string &str, const std::string &separators, bool compress = true );
00063
00065 std::string loadString( DataSourceRef dataSource );
00066
00068 std::wstring toUtf16( const std::string &utf8 );
00070 std::string toUtf8( const std::wstring &utf16 );
00071
00073 void sleep( float milliseconds );
00074
00076 #if defined( CINDER_MSW )
00077 inline char getPathSeparator() { return '\\'; }
00078 #else
00079 inline char getPathSeparator() { return '/'; }
00080 #endif
00081
00082 template<typename T>
00083 inline std::string toString( const T &t ) { return boost::lexical_cast<std::string>( t ); }
00084 template<typename T>
00085 inline T fromString( const std::string &s ) { return boost::lexical_cast<T>( s ); }
00086
00088 std::vector<std::string> stackTrace();
00089
00090
00091 inline int8_t swapEndian( int8_t val ) { return val; }
00092 inline uint8_t swapEndian( uint8_t val ) { return val; }
00093 extern int16_t swapEndian( int16_t val );
00094 extern uint16_t swapEndian( uint16_t val );
00095 extern int32_t swapEndian( int32_t val );
00096 extern uint32_t swapEndian( uint32_t val );
00097 extern float swapEndian( float val );
00098 extern double swapEndian( double val );
00099
00100 extern void swapEndianBlock( uint16_t *blockPtr, size_t blockSizeInBytes );
00101 extern void swapEndianBlock( float *blockPtr, size_t blockSizeInBytes );
00102
00103 }