X-Git-Url: http://nitlanguage.org diff --git a/lib/cpp.nit b/lib/cpp.nit index b994a83..f5c1a19 100644 --- a/lib/cpp.nit +++ b/lib/cpp.nit @@ -14,19 +14,23 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Offers features to interface with C++ code and libraries -module cpp +# Services for compatibility with C++ code and libraries +module cpp is + new_annotation cppflags +end # A pointer to a C++ std::string instance extern class CppString in "C++" `{ std::string* `} end -redef class String - fun to_cpp_string: CppString do return to_cstring.to_cpp_string +redef class Text + # Get `self` as a `CppString` + fun to_cpp_string: CppString do return to_cstring.to_cpp_string(length) end -redef class NativeString - fun to_cpp_string: CppString in "C++" `{ - return new std::string(recv); +redef class CString + # Get `self` as a `CppString` + fun to_cpp_string(length: Int): CppString in "C++" `{ + return new std::string(self, length); `} end