Lines Matching refs:std
17 std::vector<T> EnsureNonempty(std::vector<T> list, const std::string& name,
22 return std::move(list);
26 T EnsureUnique(const std::vector<T>& list, const Name& name, const char* kind) {
37 void CheckAlreadyDeclared(const std::string& name, const char* new_type) {
38 std::vector<T*> declarations =
48 std::vector<Declarable*> Declarations::LookupGlobalScope(
50 std::vector<Declarable*> d =
53 std::stringstream s;
83 return EnsureUnique(std::move(decls), name, "type")->type();
111 Macro* Declarations::TryLookupMacro(const std::string& name,
113 std::vector<Macro*> macros = TryLookup<Macro>(QualifiedName(name));
125 std::vector<Builtin*> builtins = TryLookup<Builtin>(name);
130 std::vector<GenericCallable*> Declarations::LookupGeneric(
131 const std::string& name) {
148 const std::string& name) {
156 std::vector<GenericType*> results = TryLookup<GenericType>(name);
161 Namespace* Declarations::DeclareNamespace(const std::string& name) {
162 return Declare(name, std::make_unique<Namespace>(name));
167 return Declare(name->value, std::unique_ptr<TypeAlias>(
175 std::unique_ptr<TypeAlias> alias_ptr(
177 return Declare(name->value, std::move(alias_ptr));
180 TorqueMacro* Declarations::CreateTorqueMacro(std::string external_name,
181 std::string readable_name,
187 return RegisterDeclarable(std::unique_ptr<TorqueMacro>(new TorqueMacro(
188 std::move(external_name), std::move(readable_name), std::move(signature),
193 std::string name, std::string external_assembler_name,
195 return RegisterDeclarable(std::unique_ptr<ExternMacro>(
196 new ExternMacro(std::move(name), std::move(external_assembler_name),
197 std::move(signature))));
201 const std::string& name, bool accessible_from_csa,
202 base::Optional<std::string> external_assembler_name,
204 base::Optional<std::string> op, bool is_user_defined) {
215 CreateExternMacro(name, std::move(*external_assembler_name), signature);
233 const std::string& name, Signature signature,
235 std::string generated_name = GlobalContext::MakeUniqueName(
237 Method* result = RegisterDeclarable(std::unique_ptr<Method>(new Method(
238 container_type, generated_name, name, std::move(signature), body)));
243 Intrinsic* Declarations::CreateIntrinsic(const std::string& name,
245 Intrinsic* result = RegisterDeclarable(std::unique_ptr<Intrinsic>(
246 new Intrinsic(std::move(name), std::move(signature))));
250 Intrinsic* Declarations::DeclareIntrinsic(const std::string& name,
252 Intrinsic* result = CreateIntrinsic(std::move(name), std::move(signature));
257 Builtin* Declarations::CreateBuiltin(std::string external_name,
258 std::string readable_name,
262 return RegisterDeclarable(std::unique_ptr<Builtin>(
263 new Builtin(std::move(external_name), std::move(readable_name), kind,
264 std::move(signature), body)));
267 Builtin* Declarations::DeclareBuiltin(const std::string& name,
277 const std::string& name, const Signature& signature) {
279 return Declare(name, RegisterDeclarable(std::unique_ptr<RuntimeFunction>(
285 std::string value) {
287 return Declare(name->value, std::unique_ptr<ExternConstant>(
295 std::string external_name = GlobalContext::MakeUniqueName(name->value);
296 std::unique_ptr<NamespaceConstant> namespaceConstant(
297 new NamespaceConstant(name, std::move(external_name), type, body));
299 Declare(name->value, std::move(namespaceConstant));
304 const std::string& name, GenericCallableDeclaration* ast_node) {
305 return Declare(name, std::unique_ptr<GenericCallable>(
310 const std::string& name, GenericTypeDeclaration* ast_node) {
312 std::unique_ptr<GenericType>(new GenericType(name, ast_node)));
315 std::string Declarations::GetGeneratedCallableName(
316 const std::string& name, const TypeVector& specialized_types) {
317 std::string result = name;
324 Macro* Declarations::DeclareOperator(const std::string& name, Macro* m) {