tested access on msvc, gcc, clang, and wave

This commit is contained in:
Lorenzo Caminiti
2014-10-19 23:44:29 -07:00
parent 29fb97573b
commit 570b283bf2
135 changed files with 36 additions and 9323 deletions

View File

@@ -1,33 +0,0 @@
// Copyright (C) 2008-2012 Lorenzo Caminiti
// Distributed under the Boost Software License, Version 1.0
// (see accompanying file LICENSE_1_0.txt or a copy at
// http://www.boost.org/LICENSE_1_0.txt)
// Home at http://sourceforge.net/projects/contractpp
//[stroustrup97_string
// File: string.cpp
#include "string.hpp"
CONTRACT_CONSTRUCTOR_BODY(string, string) ( const char* chars )
{ init(chars); }
CONTRACT_CONSTRUCTOR_BODY(string, string) ( const string& other )
{ init(other.chars_); }
CONTRACT_DESTRUCTOR_BODY(string, ~string) ( void )
{ delete[] chars_; }
char& string::CONTRACT_MEMBER_BODY(operator([])(at)) ( int index )
{ return chars_[index]; }
int string::CONTRACT_MEMBER_BODY(size) ( void ) const { return size_; }
void string::CONTRACT_MEMBER_BODY(init) ( const char* chars ) {
size_ = strlen(chars);
chars_ = new char[size_ + 1];
for(int i = 0; i < size_; ++i) chars_[i] = chars[i];
chars_[size_] = '\0';
}
//]