Created
June 20, 2018 12:54
-
-
Save ilovezfs/a17b6842a0ffbf1d00eccde838314c8a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/protoc-c/c_field.cc b/protoc-c/c_field.cc | |
index 9fa56ef..eaa38d2 100644 | |
--- a/protoc-c/c_field.cc | |
+++ b/protoc-c/c_field.cc | |
@@ -189,7 +189,7 @@ void FieldGenerator::GenerateDescriptorInitializerGeneric(io::Printer* printer, | |
FieldGeneratorMap::FieldGeneratorMap(const Descriptor* descriptor) | |
: descriptor_(descriptor), | |
field_generators_( | |
- new scoped_ptr<FieldGenerator>[descriptor->field_count()]) { | |
+ new std::unique_ptr<FieldGenerator>[descriptor->field_count()]) { | |
// Construct all the FieldGenerators. | |
for (int i = 0; i < descriptor->field_count(); i++) { | |
field_generators_[i].reset(MakeGenerator(descriptor->field(i))); | |
diff --git a/protoc-c/c_field.h b/protoc-c/c_field.h | |
index 91f1a03..efd5a29 100644 | |
--- a/protoc-c/c_field.h | |
+++ b/protoc-c/c_field.h | |
@@ -117,7 +117,7 @@ class FieldGeneratorMap { | |
private: | |
const Descriptor* descriptor_; | |
- scoped_array<scoped_ptr<FieldGenerator> > field_generators_; | |
+ std::unique_ptr<std::unique_ptr<FieldGenerator>[] > field_generators_; | |
static FieldGenerator* MakeGenerator(const FieldDescriptor* field); | |
diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc | |
index 9851768..6dae516 100644 | |
--- a/protoc-c/c_file.cc | |
+++ b/protoc-c/c_file.cc | |
@@ -83,13 +83,13 @@ FileGenerator::FileGenerator(const FileDescriptor* file, | |
const string& dllexport_decl) | |
: file_(file), | |
message_generators_( | |
- new scoped_ptr<MessageGenerator>[file->message_type_count()]), | |
+ new std::unique_ptr<MessageGenerator>[file->message_type_count()]), | |
enum_generators_( | |
- new scoped_ptr<EnumGenerator>[file->enum_type_count()]), | |
+ new std::unique_ptr<EnumGenerator>[file->enum_type_count()]), | |
service_generators_( | |
- new scoped_ptr<ServiceGenerator>[file->service_count()]), | |
+ new std::unique_ptr<ServiceGenerator>[file->service_count()]), | |
extension_generators_( | |
- new scoped_ptr<ExtensionGenerator>[file->extension_count()]) { | |
+ new std::unique_ptr<ExtensionGenerator>[file->extension_count()]) { | |
for (int i = 0; i < file->message_type_count(); i++) { | |
message_generators_[i].reset( | |
diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h | |
index ed38ce4..6141409 100644 | |
--- a/protoc-c/c_file.h | |
+++ b/protoc-c/c_file.h | |
@@ -98,13 +98,13 @@ class FileGenerator { | |
private: | |
const FileDescriptor* file_; | |
- scoped_array<scoped_ptr<MessageGenerator> > message_generators_; | |
- scoped_array<scoped_ptr<EnumGenerator> > enum_generators_; | |
- scoped_array<scoped_ptr<ServiceGenerator> > service_generators_; | |
- scoped_array<scoped_ptr<ExtensionGenerator> > extension_generators_; | |
+ std::unique_ptr<std::unique_ptr<MessageGenerator>[] > message_generators_; | |
+ std::unique_ptr<std::unique_ptr<EnumGenerator>[] > enum_generators_; | |
+ std::unique_ptr<std::unique_ptr<ServiceGenerator>[] > service_generators_; | |
+ std::unique_ptr<std::unique_ptr<ExtensionGenerator>[] > extension_generators_; | |
// E.g. if the package is foo.bar, package_parts_ is {"foo", "bar"}. | |
- vector<string> package_parts_; | |
+ std::vector<string> package_parts_; | |
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileGenerator); | |
}; | |
diff --git a/protoc-c/c_generator.cc b/protoc-c/c_generator.cc | |
index a0d0cb6..c46cfe4 100644 | |
--- a/protoc-c/c_generator.cc | |
+++ b/protoc-c/c_generator.cc | |
@@ -80,13 +80,13 @@ namespace c { | |
// "foo=bar,baz,qux=corge" | |
// parses to the pairs: | |
// ("foo", "bar"), ("baz", ""), ("qux", "corge") | |
-void ParseOptions(const string& text, vector<pair<string, string> >* output) { | |
- vector<string> parts; | |
+void ParseOptions(const string& text, std::vector<std::pair<string, string> >* output) { | |
+ std::vector<string> parts; | |
SplitStringUsing(text, ",", &parts); | |
for (unsigned i = 0; i < parts.size(); i++) { | |
string::size_type equals_pos = parts[i].find_first_of('='); | |
- pair<string, string> value; | |
+ std::pair<string, string> value; | |
if (equals_pos == string::npos) { | |
value.first = parts[i]; | |
value.second = ""; | |
@@ -105,7 +105,7 @@ bool CGenerator::Generate(const FileDescriptor* file, | |
const string& parameter, | |
OutputDirectory* output_directory, | |
string* error) const { | |
- vector<pair<string, string> > options; | |
+ std::vector<std::pair<string, string> > options; | |
ParseOptions(parameter, &options); | |
// ----------------------------------------------------------------- | |
@@ -149,7 +149,7 @@ bool CGenerator::Generate(const FileDescriptor* file, | |
// Generate header. | |
{ | |
- scoped_ptr<io::ZeroCopyOutputStream> output( | |
+ std::unique_ptr<io::ZeroCopyOutputStream> output( | |
output_directory->Open(basename + ".h")); | |
io::Printer printer(output.get(), '$'); | |
file_generator.GenerateHeader(&printer); | |
@@ -157,7 +157,7 @@ bool CGenerator::Generate(const FileDescriptor* file, | |
// Generate cc file. | |
{ | |
- scoped_ptr<io::ZeroCopyOutputStream> output( | |
+ std::unique_ptr<io::ZeroCopyOutputStream> output( | |
output_directory->Open(basename + ".c")); | |
io::Printer printer(output.get(), '$'); | |
file_generator.GenerateSource(&printer); | |
diff --git a/protoc-c/c_helpers.cc b/protoc-c/c_helpers.cc | |
index b79b5b0..c63bbc0 100644 | |
--- a/protoc-c/c_helpers.cc | |
+++ b/protoc-c/c_helpers.cc | |
@@ -177,7 +177,7 @@ string ToCamel(const string &name) { | |
} | |
string FullNameToLower(const string &full_name) { | |
- vector<string> pieces; | |
+ std::vector<string> pieces; | |
SplitStringUsing(full_name, ".", &pieces); | |
string rv = ""; | |
for (unsigned i = 0; i < pieces.size(); i++) { | |
@@ -188,7 +188,7 @@ string FullNameToLower(const string &full_name) { | |
return rv; | |
} | |
string FullNameToUpper(const string &full_name) { | |
- vector<string> pieces; | |
+ std::vector<string> pieces; | |
SplitStringUsing(full_name, ".", &pieces); | |
string rv = ""; | |
for (unsigned i = 0; i < pieces.size(); i++) { | |
@@ -199,7 +199,7 @@ string FullNameToUpper(const string &full_name) { | |
return rv; | |
} | |
string FullNameToC(const string &full_name) { | |
- vector<string> pieces; | |
+ std::vector<string> pieces; | |
SplitStringUsing(full_name, ".", &pieces); | |
string rv = ""; | |
for (unsigned i = 0; i < pieces.size(); i++) { | |
@@ -214,7 +214,7 @@ void PrintComment (io::Printer* printer, string comment) | |
{ | |
if (!comment.empty()) | |
{ | |
- vector<string> comment_lines; | |
+ std::vector<string> comment_lines; | |
SplitStringUsing (comment, "\r\n", &comment_lines); | |
printer->Print ("/*\n"); | |
for (int i = 0; i < comment_lines.size(); i++) | |
@@ -503,8 +503,8 @@ void SplitStringToIteratorUsing(const string& full, | |
void SplitStringUsing(const string& full, | |
const char* delim, | |
- vector<string>* result) { | |
- std::back_insert_iterator< vector<string> > it(*result); | |
+ std::vector<string>* result) { | |
+ std::back_insert_iterator< std::vector<string> > it(*result); | |
SplitStringToIteratorUsing(full, delim, it); | |
} | |
@@ -559,7 +559,7 @@ static int CEscapeInternal(const char* src, int src_len, char* dest, | |
} | |
string CEscape(const string& src) { | |
const int dest_length = src.size() * 4 + 1; // Maximum possible expansion | |
- scoped_array<char> dest(new char[dest_length]); | |
+ std::unique_ptr<char[]> dest(new char[dest_length]); | |
const int len = CEscapeInternal(src.data(), src.size(), | |
dest.get(), dest_length, false); | |
GOOGLE_DCHECK_GE(len, 0); | |
diff --git a/protoc-c/c_message.cc b/protoc-c/c_message.cc | |
index 6b22c71..85a946e 100755 | |
--- a/protoc-c/c_message.cc | |
+++ b/protoc-c/c_message.cc | |
@@ -83,11 +83,11 @@ MessageGenerator::MessageGenerator(const Descriptor* descriptor, | |
: descriptor_(descriptor), | |
dllexport_decl_(dllexport_decl), | |
field_generators_(descriptor), | |
- nested_generators_(new scoped_ptr<MessageGenerator>[ | |
+ nested_generators_(new std::unique_ptr<MessageGenerator>[ | |
descriptor->nested_type_count()]), | |
- enum_generators_(new scoped_ptr<EnumGenerator>[ | |
+ enum_generators_(new std::unique_ptr<EnumGenerator>[ | |
descriptor->enum_type_count()]), | |
- extension_generators_(new scoped_ptr<ExtensionGenerator>[ | |
+ extension_generators_(new std::unique_ptr<ExtensionGenerator>[ | |
descriptor->extension_count()]) { | |
for (int i = 0; i < descriptor->nested_type_count(); i++) { | |
diff --git a/protoc-c/c_message.h b/protoc-c/c_message.h | |
index 8b115d1..63aa97a 100644 | |
--- a/protoc-c/c_message.h | |
+++ b/protoc-c/c_message.h | |
@@ -126,9 +126,9 @@ class MessageGenerator { | |
const Descriptor* descriptor_; | |
string dllexport_decl_; | |
FieldGeneratorMap field_generators_; | |
- scoped_array<scoped_ptr<MessageGenerator> > nested_generators_; | |
- scoped_array<scoped_ptr<EnumGenerator> > enum_generators_; | |
- scoped_array<scoped_ptr<ExtensionGenerator> > extension_generators_; | |
+ std::unique_ptr<std::unique_ptr<MessageGenerator>[] > nested_generators_; | |
+ std::unique_ptr<std::unique_ptr<EnumGenerator>[] > enum_generators_; | |
+ std::unique_ptr<std::unique_ptr<ExtensionGenerator>[] > extension_generators_; | |
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator); | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment