sc_process_handle.hh (12838:f03602fb0c75) | sc_process_handle.hh (12852:300397457d0b) |
---|---|
1/* 2 * Copyright 2018 Google, Inc. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are 6 * met: redistributions of source code must retain the above copyright 7 * notice, this list of conditions and the following disclaimer; 8 * redistributions in binary form must reproduce the above copyright --- 19 unchanged lines hidden (view full) --- 28 */ 29 30#ifndef __SYSTEMC_EXT_CORE_SC_PROCESS_HANDLE_HH__ 31#define __SYSTEMC_EXT_CORE_SC_PROCESS_HANDLE_HH__ 32 33#include <exception> 34#include <vector> 35 | 1/* 2 * Copyright 2018 Google, Inc. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are 6 * met: redistributions of source code must retain the above copyright 7 * notice, this list of conditions and the following disclaimer; 8 * redistributions in binary form must reproduce the above copyright --- 19 unchanged lines hidden (view full) --- 28 */ 29 30#ifndef __SYSTEMC_EXT_CORE_SC_PROCESS_HANDLE_HH__ 31#define __SYSTEMC_EXT_CORE_SC_PROCESS_HANDLE_HH__ 32 33#include <exception> 34#include <vector> 35 |
36namespace sc_gem5 37{ 38 39class Process; 40 41} // namespace sc_gem5 42 |
|
36namespace sc_core 37{ 38 39class sc_event; 40class sc_object; 41 42enum sc_curr_proc_kind 43{ --- 18 unchanged lines hidden (view full) --- 62 protected: 63 sc_unwind_exception(); 64 sc_unwind_exception(const sc_unwind_exception &); 65 virtual ~sc_unwind_exception() throw(); 66}; 67 68class sc_process_handle 69{ | 43namespace sc_core 44{ 45 46class sc_event; 47class sc_object; 48 49enum sc_curr_proc_kind 50{ --- 18 unchanged lines hidden (view full) --- 69 protected: 70 sc_unwind_exception(); 71 sc_unwind_exception(const sc_unwind_exception &); 72 virtual ~sc_unwind_exception() throw(); 73}; 74 75class sc_process_handle 76{ |
77 private: 78 ::sc_gem5::Process *_gem5_process; 79 |
|
70 public: 71 sc_process_handle(); 72 sc_process_handle(const sc_process_handle &); 73 explicit sc_process_handle(sc_object *); 74 ~sc_process_handle(); 75 | 80 public: 81 sc_process_handle(); 82 sc_process_handle(const sc_process_handle &); 83 explicit sc_process_handle(sc_object *); 84 ~sc_process_handle(); 85 |
86 // These non-standard operators provide access to the data structure which 87 // actually tracks the process within gem5. By making them operators, we 88 // can minimize the symbols added to the class namespace. 89 operator ::sc_gem5::Process * () const { return _gem5_process; } 90 sc_process_handle & 91 operator = (::sc_gem5::Process *p) 92 { 93 _gem5_process = p; 94 return *this; 95 } 96 |
|
76 bool valid() const; 77 78 sc_process_handle &operator = (const sc_process_handle &); 79 bool operator == (const sc_process_handle &) const; 80 bool operator != (const sc_process_handle &) const; 81 bool operator < (const sc_process_handle &) const; 82 bool swap(sc_process_handle &); 83 --- 46 unchanged lines hidden --- | 97 bool valid() const; 98 99 sc_process_handle &operator = (const sc_process_handle &); 100 bool operator == (const sc_process_handle &) const; 101 bool operator != (const sc_process_handle &) const; 102 bool operator < (const sc_process_handle &) const; 103 bool swap(sc_process_handle &); 104 --- 46 unchanged lines hidden --- |