Skip to content
Standard C++ for Arduino (port of uClibc++)
C++ Arduino C Other
Pull request Compare This branch is 14 commits ahead, 4 commits behind rpavlik:master.
Latest commit 3604786 Sep 8, 2012 @kibergus Make std::move POD avare
Failed to load latest commit information.
bits std::move and std::forward Aug 12, 2012
examples
.gitignore
Jamfile
Makefile
README.md
StandardCplusplus.h
algorithm
algorithm.cpp POD avare std::copy Sep 8, 2012
associative_base
associative_base.cpp
basic_definitions
bitset
bitset.cpp
cassert
cctype
cerrno
cfloat import Dec 24, 2011
char_traits
char_traits.cpp import Dec 25, 2011
climits
clocale import Dec 25, 2011
cmath
complex
complex.cpp
csetjmp
csignal
cstdarg
cstddef
cstdio
cstdlib
cstring
ctime
cwchar import Dec 25, 2011
cwctype
del_op.cpp
del_opnt.cpp import Dec 25, 2011
del_opv.cpp
del_opvnt.cpp
deque
deque.cpp import Dec 25, 2011
eh_alloc.cpp
eh_globals.cpp
exception
exception.cpp
fstream
fstream.cpp Fix typo'd comment Jun 15, 2012
func_exception
func_exception.cpp
functional
initializer_list
iomanip import Dec 25, 2011
iomanip.cpp
ios
ios.cpp
iosfwd
iostream
iostream.cpp
istream
istream.cpp
istream_helpers
iterator
iterator.cpp
iterator_base
limits
limits.cpp
list
list.cpp
locale
locale.cpp
map import Dec 25, 2011
map.cpp
memory
new import Dec 25, 2011
new_handler.cpp
new_op.cpp
new_opnt.cpp
new_opv.cpp
new_opvnt.cpp
numeric
numeric.cpp
ostream
ostream.cpp import Dec 25, 2011
ostream_helpers
queue
queue.cpp
serstream
set Whitespace cleanup from upstream. Jun 15, 2012
set.cpp
sstream
sstream.cpp
stack
stack.cpp
stdexcept import Dec 25, 2011
stdexcept.cpp
streambuf
streambuf.cpp
string
string.cpp import Dec 25, 2011
string_iostream
support
support.cpp
system_configuration.h
terminate.cpp
type_traits
typeinfo
typeinfo.cpp
uartbuf
unexpected.cpp Lacking realization of std::terminate. Call terminate in case if exce… Aug 12, 2012
unwind-cxx.h Change dos lineendings to unix ones Aug 12, 2012
utility
utility.cpp import Dec 25, 2011
utility.h
valarray valarray fixes from upstream Jun 15, 2012
valarray.cpp
vector Add FIXME to pproblem places in vector realization Aug 26, 2012
vector.cpp

README.md

Standard C++ for Arduino

What is this?

This is a straight port of uClibc++ for Arduino. I have cut nothing out and held nothing back. Use with care!

That said, I have used uClibc++'s own internal configuration to pare back un-needed stuff, like support for floats, gratuitous template instantiations and other things. See system_configuration.h for all of those gory details.

Plus I added in Andy Brown's excellent ohserialstream class for managing the HardwareSerial as an ostream.

How do I install it?

This is installed just like a regular Arduino library. Unpack the contents of the distribution into the 'libraries' folder under your sketchbook. For example, my sketchbook is at /home/maniacbug/Source/Arduino, so this library is in /home/maniacbug/Source/Arduino/libraries/StandardCplusplus .

Be sure to reset your Arduino IDE after installing it.

How do I try it out?

From the Arduino IDE, navigate the menus to: File > Examples > StandardCplusplus > string_vector

Upload that, set your serial monitor to 57600 baud, and check the output.

How do I learn more?

The web is your friend. cplusplus.com is my personal favorite reference.

Which versions does it work with?

Arduino 1.0 and beyond.

What is the license?

uClibc++ is LGPL, so this port is also. Andy's file is actually CC-BY-SA, however he indicated he'd be releasing it using the 3-clause modified BSD license, so it will be fully compatible with uClibc++.

Something went wrong with that request. Please try again.