Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Standard C++ for Arduino (port of uClibc++)
C++ Arduino C Other
branch: master

This branch is 14 commits ahead, 4 commits behind rpavlik:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bits
examples
.gitignore
Jamfile
Makefile
README.md
StandardCplusplus.h
algorithm
algorithm.cpp
associative_base
associative_base.cpp
basic_definitions
bitset
bitset.cpp
cassert
cctype import
cerrno
cfloat
char_traits
char_traits.cpp import
climits
clocale
cmath Handle pointer types to modf to fix build.
complex
complex.cpp
csetjmp
csignal
cstdarg import
cstddef
cstdio
cstdlib
cstring
ctime
cwchar
cwctype
del_op.cpp
del_opnt.cpp
del_opv.cpp
del_opvnt.cpp
deque
deque.cpp
eh_alloc.cpp
eh_globals.cpp
exception
exception.cpp
fstream
fstream.cpp
func_exception
func_exception.cpp Lacking realization of std::terminate. Call terminate in case if exce…
functional
initializer_list
iomanip
iomanip.cpp
ios
ios.cpp change an ARDUINO check to an __AVR__ check
iosfwd
iostream
iostream.cpp
istream
istream.cpp
istream_helpers istream_helpers fixes from upstream
iterator
iterator.cpp
iterator_base
limits
limits.cpp
list
list.cpp
locale
locale.cpp import
map
map.cpp
memory
new
new_handler.cpp
new_op.cpp
new_opnt.cpp
new_opv.cpp
new_opvnt.cpp
numeric import
numeric.cpp
ostream
ostream.cpp
ostream_helpers
queue
queue.cpp
serstream
set
set.cpp
sstream
sstream.cpp
stack
stack.cpp
stdexcept import
stdexcept.cpp
streambuf
streambuf.cpp
string
string.cpp
string_iostream
support Whitespace cleanup from upstream.
support.cpp
system_configuration.h
terminate.cpp
type_traits
typeinfo
typeinfo.cpp import
uartbuf
unexpected.cpp
unwind-cxx.h
utility
utility.cpp import
utility.h
valarray valarray fixes from upstream
valarray.cpp
vector
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.