Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(634)

Side by Side Diff: include/v8.h

Issue 1609021: Expose a hint which communicates that string might be written many times. (Closed)
Patch Set: Created 10 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/api.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2007-2009 the V8 project authors. All rights reserved. 1 // Copyright 2007-2009 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 841 matching lines...) Expand 10 before | Expand all | Expand 10 after
852 * Only null-terminates if there is enough space in the buffer. 852 * Only null-terminates if there is enough space in the buffer.
853 * 853 *
854 * \param buffer The buffer into which the string will be copied. 854 * \param buffer The buffer into which the string will be copied.
855 * \param start The starting position within the string at which 855 * \param start The starting position within the string at which
856 * copying begins. 856 * copying begins.
857 * \param length The number of bytes to copy from the string. 857 * \param length The number of bytes to copy from the string.
858 * \param nchars_ref The number of characters written, can be NULL. 858 * \param nchars_ref The number of characters written, can be NULL.
859 * \return The number of bytes copied to the buffer 859 * \return The number of bytes copied to the buffer
860 * excluding the NULL terminator. 860 * excluding the NULL terminator.
861 */ 861 */
862 int Write(uint16_t* buffer, int start = 0, int length = -1) const; // UTF-16 862 enum WriteHints {
863 int WriteAscii(char* buffer, int start = 0, int length = -1) const; // ASCII 863 NO_HINTS = 0,
864 HINT_MANY_WRITES_EXPECTED = 1
865 };
866
867 int Write(uint16_t* buffer,
868 int start = 0,
869 int length = -1,
870 WriteHints hints = NO_HINTS) const; // UTF-16
871 int WriteAscii(char* buffer,
872 int start = 0,
873 int length = -1,
874 WriteHints hints = NO_HINTS) const; // ASCII
864 int WriteUtf8(char* buffer, 875 int WriteUtf8(char* buffer,
865 int length = -1, 876 int length = -1,
866 int* nchars_ref = NULL) const; // UTF-8 877 int* nchars_ref = NULL,
867 878 WriteHints hints = NO_HINTS) const; // UTF-8
868 /**
869 * Flatten internal memory. Operations on the string tend to run faster
870 * after flattening especially if the string is a concatenation of many
871 * others.
872 */
873 void Flatten();
874 879
875 /** 880 /**
876 * A zero length string. 881 * A zero length string.
877 */ 882 */
878 static v8::Local<v8::String> Empty(); 883 static v8::Local<v8::String> Empty();
879 884
880 /** 885 /**
881 * Returns true if the string is external 886 * Returns true if the string is external
882 */ 887 */
883 bool IsExternal() const; 888 bool IsExternal() const;
(...skipping 2515 matching lines...) Expand 10 before | Expand all | Expand 10 after
3399 3404
3400 } // namespace v8 3405 } // namespace v8
3401 3406
3402 3407
3403 #undef V8EXPORT 3408 #undef V8EXPORT
3404 #undef V8EXPORT_INLINE 3409 #undef V8EXPORT_INLINE
3405 #undef TYPE_CHECK 3410 #undef TYPE_CHECK
3406 3411
3407 3412
3408 #endif // V8_H_ 3413 #endif // V8_H_
OLDNEW
« no previous file with comments | « no previous file | src/api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698